127
Высокопроизводительные STM32F2 Попов Роман + ST Декабрь 2011

STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Высокопроизводительные

STM32F2

Попов Роман + ST

Декабрь 2011

Page 2: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

8

Улучшенная производительность 1/2

Очень высокая производительность: 150MIPS на 120МГц

Запатентованный акселератор ускорения памяти (ART accelerator

- Adaptive Real Time) позволяет выполнять код с 0

задержками(wait-state) на 120МГц, обеспечивающий STM32 F-2

наивысшую производительность среди всех ядер Cortex M3 на

рынке - 150DMIPS на 120МГц.

Совместно с Branch Cache, производительность и потребление

значительно улучшены.

Page 3: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

9

Улучшенная производительность 2/2

Низкое динамическое потребление: менее 23мА при 120МГц

Комбинация высокой производительности и низкое

потребление в динамике

150мкA в режжиме Stop

< 1мкA в режиме VBAT при RTC ON, (2мкA с backup SRAM ON).

2мкА в режиме Standby(3мкА с backup SRAM ON).

1.8В (мин) - 3.6В (макс) напряжение питания

Опция Regulator Bypass(в 2х корпусах)

32-бит матрица шин (7 уровней) для параллеллизма

CPU и некоторая высокоскоростная периферия могут

работать параллельно

Page 4: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

51/82/114/140 I/Os

USB 2.0 OTG

FS/HS

Encryption**

Camera Interface

3x 12-bit ADC 24 channels / 2Msps

3x I2C

Up to 16 Ext. ITs

Temp Sensor

2x16-bit PWM Synchronized AC Timer

2x Watchdog (independent & window)

5x 16-bit Timer

2x DAC + 2 Timers

2 x USART/LIN

1 x SPI

1 x Systic Timer

Clock Control

RTC / AWU

4KB backup RAM

Ethernet MAC

10/100, IEEE1588

USB 2.0 OTG FS

4x USART/LIN

1x SDIO

XTAL oscillators 32KHz + 8~25MHz

Power Supply Reg 1.2V

POR/PDR/PVD

PLL

Int. RC oscillators 32KHz + 16MHz

3 x 16bit Timer

2x 32-bit Timer

2x CAN 2.0B

2 x SPI / I2S

Для USB HS необходим внешний PHY, соединенный через интерфейс ULPI ,

** Шифрование доступно только в STM32F217

10

Функциональная схема STM32F2xx Cortex-M3 с MPU и ETM

Память

До 1Mб FLASH

128Kб RAM

FSMC до 60МГц

Новая периферия

USB OTG HS с ULPI интерфейсом

Интерфейс камеры

HW кодирование**: DES, 3DES, AES

256-бит, SHA-1 hash, RNG.

Расширенная периферия

USB OTG Full Speed

АЦП: 0.5мкс(2Msps), до 6Msps в

тройном режиме работы

АЦП/ЦАП функционируют до 1.8В

Выделенный PLL для I2S

Ethernet с HW IEEE1588 v2.0

32-бит RTC с календарем

4Kб backup SRAM в VBAT domain

Улучшенные 1% RC

2 x 32бит и 8 x 16бит таймеры

USART до 7.5Mбит/с

SPI до 30Mбит/с

RDP (JTAG fuse)

Больше I/O в 176 корпусе

Bridge

Bridge APB1 (max 30MHz)

AR

M ®

32

-bit m

ulti-A

HB

bus m

atr

ix

Arb

iter

(max 1

20M

Hz)

Fla

sh I/F

CORTEX M3 CPU+ MPU 120 MHz

128KB SRAM

JTAG/SW Debug

DMA

16 Channels

Nested vect IT Ctrl

ETM

512kB- 1MB Flash Memory

External Memory Interface

AHB1

(max 120MHz)

AHB2 (max 120MHz)

AP

B2

(m

ax 6

0M

Hz)

Page 5: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

11

Линейки STM32F-2

3x12-bit ADC 0.5µs

Temp sensor

Up to

128KB

SRAM

120MHz

CPU

Все варианты включают:

6xUSART, 3xSPI,3xI2C

Main Osc 8-25MHz

Up to 16 channels DMA

2 x Watchdogs

Multiple 16-bit and 32-

bit TIMERS

80% GPIO ratio

Up to1MB FLASH

Internal 16 MHz RC

and 32 kHz RC

Reset circuitry

Real Time Clock

Dual DAC

ETM

Ethernet

IEEE1588

V2

MPU

120MHz

CPU

Up to

128KB

SRAM

1x USB

2.0 OTG

FS/HS

2 x CAN

2 x I2S

Advanced timer x 2

USB 2.0

OTG FS

USB 2.0

OTG

FS/HS

FSMC

RNG

+Crypto /

Hash

processor*

STM32F207

STM32F205

Camera

interface

RNG

+ Crypto /

Hash

processor*

* Crypto/Hash сопроцессоры доступны только в STM32F217x и STM32F215x

STM32F217

STM32F215

Page 6: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

12

Flash Size

(байт)

512 K

768 K

LQFP 100 pins LFQFP 64 pins LQFP 144 pins

1MB

Cortex-M3 120МГц с MPU и ETM

RNG (Random Number Generator)

6 x USART

8 x16бит таймера, 2 x32бит таймера

2 x 16 – бит ШИМ

3 x SPI, 2 x I2C, 2 x I2S, 2 x CAN

3 x АЦП, 2 x ЦАП,

SDIO, FSMC (100 ,144, 176 ножек)

UFBGA 176*

STM32F205VE

128 KB RAM

STM32F205VF

128 KB RAM

STM32F205ZE

128 KB RAM

STM32F205ZF

128 KB RAM

STM32F205RE

128 KB RAM

STM32F205ZG

128 KB RAM

STM32F205VG

128 KB RAM

STM32F205RF

128 KB RAM

STM32F205RG

128 KB RAM

STM32F207ZG

128 KB RAM

STM32F207VG

128 KB RAM

STM32F207IG

128 KB RAM

STM32F207VF

128 KB RAM

STM32F207ZF

128 KB RAM

STM32F207IF

128 KB RAM

STM32F207VE

128 KB RAM

STM32F207ZE

128 KB RAM

STM32F207IE

128 KB RAM

STM32F207

Ethernet, 2xUSB OTG,

интерфейс кмеры

STM32F205

1xUSB OTG FS/HS

STM32F205VB

64 KB RAM

STM32F205VC

96 KB RAM

STM32F205ZC

96 KB RAM

STM32F205RB

64 KB RAM

STM32F205RC

96 KB RAM

STM32F207VC

128 KB RAM

STM32F207ZC

128 KB RAM

STM32F207IC

128 KB RAM

Линейка портфолио STM32F-2

256 K

128 K

Кол-во ножек

E* E* E*

E* E* E*

E* E* E*

E* E* E*

Периферия шифрования в

STM32F217 и STM32F115 E*

Page 7: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Системная архитектура

Бутлоадер

Матрица шин

DMA – контроллер

FLASH память

Производительность

Page 8: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

16

Бутлоадер поддерживает(cut2.0 или rev B)

USART1(PA9/PA10)

USART3(PC10/PC11 или PB10/PB11)

CAN2(PB6/PB5)

USB OTG FS режиме Device (PA9/PA11/PA12) через

DFU (device firmware upgrade)

Примечание

DFU/CAN могут работать с различными внешними

источниками тактирования в диапазоне от 4 до 25

МГц, модуль USART использует внутренний HSI

Бутлоадер использует те же протоколы USART, CAN и

DFU как и в STM32F10x

Бутлоадер

Режим загрузки

Выбранные ножки Режим загрузки Комментарии

BOOT1 BOOT0

x 0 User Flash

Встроенная Flash - загрузочная область

0 1 System Memory Системная память - загрузочная область

1 1 Embedded SRAM Встроенная SRAM - загрузочная область

Системная память: содержит

бутлоадер, используемый для перепрограммирования FLASH-памяти через USART1 или USART2 (одинаковая конфигурация ножек для всего семейства STM32).

Загрузка из SRAM: при инициализации кода можно перенести таблицу векторов прерываний в SRAM используя таблицу исключений NVIC и регистр смещения

Page 9: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

17

Режим загрузки через I/D шины

BOOT/REMAP in

Main Flash memory

BOOT/REMAP in

Embedded SRAM

BOOT/REMAP in System

memory REMAP in FSMC

0x2001 C000 - 0x2001 FFFF SRAM2 (16kB) SRAM2 (16kB) SRAM2 (16kB) SRAM2 (16kB)

0x2000 0000 - 0x2001 BFFF SRAM1 (112kB) SRAM1 (112kB) SRAM1 (112kB) SRAM1 (112kB)

0x1FFF 0000 - 0x1FFF 77FF System memory System memory System memory System memory

0x0810 0000 - 0x0FFF FFFF Reserved Reserved Reserved Reserved

0x0800 0000 - 0x080F FFFF FLASH (1MB ) FLASH (1MB ) FLASH (1MB ) FLASH (1MB )

0x04000000 - 0x07FF FFFF Reserved Reserved Reserved FSMC NOR/SRAM 2 Bank1 (Aliased)

0x0000 0000 - 0x000F FFFF FLASH (1MB ) Aliased SRAM1 (112kB)

Aliased

System memory (30KB)

Aliased FSMC NOR/SRAM 1 Bank1 (Aliased)

STM32F2xx позволяет выполнять код из 3 различных областей памяти, отображаемых на

шины I-Code/D-Code более быстрое исполнение кода чем с System Bus

Реализуется программно через регистр SYSCFG_MEMRMP, 2 бита используются для

выбора физического ремапа, через ножки BOOT. 00: Main Flash memory отображается с 0x0000 0000

01: System Flash memory отображается с 0x0000 0000

10: FSMC (NOR/SRAM bank1 NE1/NE2) отображается с 0x0000 0000

11: Embedded SRAM (112Кб) отображается с 0x0000 0000

Page 10: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Акселератор памяти

Буфер предвыборки по принципу кэша

Содержит первые инструкции, адреса переходов и прерывания

Помещение информации в очередь предвыборки без задержек при переходах

Page 11: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

25

Тест

0

50

100

150

200

250

EEMBC Coremark v1.0 score

STM32F2xx (228.6@ 120MHz

+30% vs LPC1768

LPC1768

(175.25@100MHz)

CoreMark [Iter/Sec]

MHz

PIC32

(183.68@80MHz)

PIC32

(77.97@30MHz)

PIC24

(74.48@40MHz)

M16

(11.208@24MHz)

ColdFire

(62.28@60MHz)

CortexM0

(33.77@24MHz)

CortexR4

(52@24MHz)

STM32F2xx (190.30@ 100MHz)

+8% vs LPC1768

Все данные с www.coremark.org

Page 12: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

32-bit multi-AHB bus matrix

Page 13: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

27

DMA - контроллер

Передача через DMA1

Периф. шина DMA1 не соединяется с Матрицей Шин

DMA1 не может адресовать периферию на AHB1/AHB2

DMA1 может только использовать APB1 для обмена с памятью

Передача через DMA2

DMA2 может использоваться для всех типов обмена

Обе шины DMA2_periph и DMA2_mem соединены с Матрицей

Шин

Системная шина делится при операциях совместных чтения и

записи

Используйте DMA как можно больше для разгрузки

CPU.

Page 14: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

EEMBC – Coremark Certification

Page 15: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

FLASH - память

Системная периферия

Page 16: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

50

Основные характеристики flash

До 1 Mбайт

Шина доступа - 128 бит

Запись – байт, полуслово, слово, двойное слово

512 байт OTP (One Time Programmable)

Очистка по секторам или полностью

Время записи 32-бит слова: 12мкс(тип)

Время очистки сектора:

16Kб: 400мкс (тип)

64Kб: 700мкс (тип)

128Kб: 1с (тип)

1Mб: около 2с (тип)

10 000 на сектор / 20 лет сохранность

Защита

2 RDP уровня, посекторная

Block Name Block base address Size

Main Memory

Sector 0 0x0800 0000 - 0x0800 3FFF 16 Kbyte

.

. .

.

. .

.

. .

Sector 3 0x0800 C000 - 0x0800 FFFF 16 Kbyte

Sector 4 0x0801 0000 - 0x0801 FFFF 64 Kbyte

Sector 5 0x0802 0000 - 0x0803 FFFF 128 Kbyte

.

. .

.

. .

.

. .

Sector 11 0x080E 0000 - 0x080F FFFF 128 Kbyte

System memory 0x1FFF 0000 - 0x1FFF 77FF 30 Kbyte

OTP 0x1FFF 7800 - 0x1FFF 7A0F 528 bits

Option bytes 0x1FFF C000 - 0x1FFF C00F 16 bytes

Page 17: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Интерфейс чтения

Предвыборка инструкций

Кэш инструкций – 64 кэш-линий по 128 бит

Кэш данных - 8 кэш-линий по 128 бит

Очистка/запись flash - памяти

Запись: байт, полуслово, слово и двойное слово

Посекторная и полная очистка

Типы защиты

Защита от чтения

Level0

Level1

Level2 (JTAG fuse)

Защита от записи

Option Bytes

51

Обзор flash - интерфейса

Page 18: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Конфигурация flash

Flash user-specific блок состоит из:

30 Kбайт системной памяти (бутлоадер)

512 бит OTP (one-time programmable)

Блок конфигурации пользователя (option bytes), 16 байт:

Защита от чтения

Защита от записи

Конфигурация сторожевого таймера (software/hardware)

Сброс при входе в режимы stop/standby

Конфигурация уровня BOR

Регистр контроля option bytes, программная защита с ключем

Для модификации option bytes:

Запись 2х ключей в регистр

Запись задуманных опций в регистр FLASH_OPTCR

Затем установка бита OPTSTRT и ожидание сброса бита BSY

55

Page 19: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Защита от чтения (1/2) Область пользователя во flash может быть защищена от

операций чтения от «пиратского» кода.

Level 0: Защита от чтения отключена

Активация через запись значения 0xAA в регистр RDP

Все операции с flash памятью или backup SRAM разрешены в любой конфигурации

загрузки(boot).

Level 1: Защита от чтения включена

Активация через запись любого значения (кроме 0xAA и 0xСС) в регистр RDP

В режиме отладки, доступ ко всей flash памяти или backup SRAM отключен

Отладка доступна из системной SRAM

Level 2: Устройство заблокировано(locked-up)

Активация через запись значения 0xCC в регистр RDP

Вся защита от Level 1

Отладка запрещена (CPU JTAG и single-wire)

Изменение option bytes невозможна

Деактивация невозможна

56

Page 20: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

57

Защита от чтения (2/2)

Level 2

RDP=0xCC

Level 0

RDP=0xAA

Level 1

RDP ≠ 0xCC

RDP ≠ 0xAA

Опция записи, включая RDP = 0xCC

Опция записи, включая RDP = 0xCC Опция записи, включая

RDP ≠ 0xAA and RDP ≠ 0xCC

Опция записи, включая RDP = 0xAA

RDP = 0xAA Другие опции могут модифицироваться

RDP ≠ 0xAA и RDP ≠ 0xCC Другие опции могут модифицироваться

Запись в option byte (Увеличение уровня RDP) включая: Очистка option byte и новое программирование option byte Запись в option byte (Уменьшение уровня RDP) включая: Очистка option byte и новое программирование option byte и полная очистка памяти Запись в option byte (RDP level постоянный) включая: Очистка option byte и новое программирование option byte

Page 21: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Управление питанием (PWR)

Системная периферия

Page 22: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Схема питания

VSS

VBAT

VDDA

VSSA

VREF-

VREF+

A/D converter

D/A converter

Temp. sensor

Reset block

PLLs

VDDA domain

Core

Memories

Digital

peripherals

VCore (1.2V) domain

VDD domain

STANDBY circuitry

(Wake-up logic,

IWDG) VDD

Схема питания STM32F-2

VDD = 1.8 В - 3.6 В. Внешние ножки питания

для портов в/в и встроенного регулятора

VDDA = 1.8 В - 3.6 В : вншнее аналоговое

питания для АЦП, ЦАП, схемы сброса,

тактирования - RC и PLL.

VCAP = внешний конденсатор для регулятора

напряжения(также 1.2 В в определенном

режиме)

VBAT = 1.65 В - 3.6 В: напряжение питания для

области резервирования

Подключение ножек:

VDD и VDDA должны быть подключены к одинаковому источнику

VSS, VSSA - необходимо соединить с GND

2.4V ≤ VREF+ ≤ VDDA при VDDA ≥ 2.4

VREF+ = VDDA при VDDA < 2.4

64

RTC and BKP reg

LSE crystal 32K osc

RCC BDCR

BKP SRAM

Voltage Regulator

I/O Rings

FLASH Memory

Backup domain

VCAP

Low voltage detector

Page 23: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Ограничения производительности в зависимости от

напряжения питания

65

Ограничения в зависимости от рабочего напряжения питания

Диапазон питающего

напряжения

АЦП, макс время

преобразования

Максимальная частота CPU (fCPUmax)

Порты ввода-вывода FSMC - контроллер Возможные операции с

FLASH

VDD = 1.8В - 2.1В До 1 Msps – 120 MГц с 7ws flash - памяти – 16 MГц без задержек

– деградация скорости до 30 MГц

Только 8-бит операции очистки и записи

VDD = 2.1В -2.4В До 1 Msps – 120 MГц с 6ws flash - памяти – 18MГц без задержек

– деградация скорости до 30 MГц

16-бит операции очистки и записи

VDD = 2.4В-2.7В До 2 Msps – 120 MГц с 4ws flash - памяти – 24MГц без задержек

– деградация скорости до 48 MГц

16-бит операции очистки и записи

VDD = 2.7В-3.6В До 2 Msps – 120 MГц с 3ws flash - памяти – 30MГц без задержек

– нет деградации

– до 60 MГц при Vdd = 3.0В-3.6В – до 48 MГц при Vdd =2.7В-3.0В

32-бит операции очистки и записи

Page 24: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Регуляторы напряжения

2 встроенных регулятора напряжения

Основной регулятор – питает все цифровые схемы, исключая схемы

Standby и область резервирования(Backup domain). Выходное

напряжение VCORE = 1.2 В и может выдавать до 200мA.

Регулятор низкого напряжения – только для резервной памяти

(backup RAM) в режиме VBAT

Основной регулятор напряжения имеет 3 режима работы:

Режимы Run и Sleep (максимально 200мA)

Режим Low Power для работы в режиме STOP (максимально 5мA)

Режим Regulator OFF для режима работы STANDBY/VBAT.

Режим Regulator Bypass

В этом режиме запитывать внешний источник напряжением 1.2 В

через ножки VCAP_1 и VCAP_2

68

Page 25: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Power On Reset (POR)/Power Down Reset (PDR)

VDD

POR

PDR

Сброс

VPOR

VPDR

Стабилизация tRSTTEMPO

VPDR = VPOR = 1.8В

72

Встроенная схема POR / PDR :

Микроконтроллер имеет встроенную

схему POR/PDR, которая позволяет

работать без внешней схемы выше

1.8 В

Модули POR и PDR имеют

гистерезис 40мВ

Page 26: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Brown Out Reset (BOR)

Во время подачи питания, модуль BOR

удерживает микроконтроллер в состоянии сброса

пока напряжения питания не достигнет

определенного порога VBOR .

Нет необходимости во внешней схеме сброса

Модуль BOR имеет гистерезис 100мВ

Уровни BOR конфигурируются в option bytes:

BOR OFF: 2.1 В – power on и 1.62 В at power down

BOR LOW (DEFAULT) : 2.4 В - power on и 2.1 В

power down

BOR MEDIUM: 2.7 В - power on и 2.4 В - power down

BOR HIGH: 3.6 В - power on и 2.7 В - power down

73

VDD

VBORH

VBORL

100мВ гистерезис

Сброс

VBORH

VBORL

Стабилизация tRSTTEMPO

Page 27: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Программируемый детектор напряжения (PVD)

74

PVD:

Разрешение работы программно

Мониторинг напряжения VDD и

сравнение с порогом.

Конфигурируемый порог от 2 В до 2.9В

с шагом в 100мВ

Генерирование прерывания через

внешнее прерывание EXTI Line16 при

VDD < Порог и/или VDD > Порог

Может использоваться для генерации

сообщения и/или вводить

микроконтроллер в безопасное

состояние

VDD

100мВ гистерезис

PVD

Output

Пороги PVD

Page 28: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Область резервирования Backup Domain (1/2)

Область резервирования

Модуль RTC и 4Kб Backup RAM

LVR для RAM

Опция отключения

Независимое напряжение VBAT

Автоматическое переключение на VBAT при уровне VDD ниже уровня PDR

Нет потребления VBAT при питании от VDD

Сохранение данных

1 ножка для wakeup и 2 альтернативных функции RTC на ножках RTC_AF1 и RTC_AF2

75

Backup domain

LP Voltage

Regulator

RTC 80 byte

data

VBAT

VDD

BKP SRAM

power switch

RCC BDCR

reg

32KHz OSC

(LSE)

Page 29: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

77

Низкотребляющие режимыSTM32F2x

В STM32F2xx, как и в STM32F1xx 3 низкопотребляющих режима

SLEEP

STOP

STANDBY

Режим VBAT.

В STM32F2xx уменьшается потребление в режимах низкого потребления:

Тактирование периферии останавливается автоматически во время

режимов sleep

Режим отключения памяти flash (Flash Power Down mode)

Опция отключения LVR и Backup RAM

В STM32F2xx много источников пробуждения из режимов низкого потребления:

Wakeup pin (PA0) / NRST pin

RTC Alarm (Alarm A и Alarm B)

Прерывание RTC Wakeup Timer

Событие RTC Tamper

Событие RTC Time Stamp

Событие IWDG Reset

Page 30: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Система сброса и контроля

тактирования (RCC)

Системная периферия

Page 31: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Система сброса

System RESET

Сброс всех регистров, исключая

некоторые регистры RCC и Backup

Domain

Источники

Низкий уровень на NRST

(External Reset)

Конец счета WWDG

Конец счета IWDG

Программный сброс(через NVIC)

Сброс LPM

Power RESET

Сброс всех регистров, исключая Backup Domain

Источники

Power On/Power down Reset (POR/PDR)

BOR

При выходе из режима STANDBY

Backup domain RESET

Сброс Backup Domain: регистры RTC+ регистры Backup Domain + регистр RCC BDCR

Источники

Бит BDRST в регистре RCC BDCR

POWER Reset

Примечание: BKPSRAM не очищается

85

Filter

VDD /VDDA

RPU

PULSE

GENERATOR

(min 20µs)

SYSTEM RESET

NRST

WWDG RESET IWDG RESET

Software RESET

Power RESET

Low power management RESET

External RESET

BOR

RESET

POR/PDR

RESET

Page 32: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Схема тактирования

87

HSI

HSE

PLLCLK MCO1 /1..5

LSE

SYSCLK

HSE

PLLCLK MCO2 /1..5

PLLI2S

LSI RC

32.768KHz /2, to 31

LSE OSc

OSC32_IN

OSC32_OUT

~32KHz IWDGCLK

RTCCLK

TIM5 IC4

HSE

/

2,

20

MACTXCLK

MACRXCLK MACRMIICLK

USB HS

ULPI clock

/ P

/ Q

/ R

x N

PLLI2S

I2SCLK

Ext. Clock SPI2S_CKIN

PLLI2SCLK

VCO

PCLK1 up to 30MHz

If (APB2 pres =1)

x1 Else

x2

If (APB1 pres

=1) x1

Else x2

PCLK2 up to 60MHz

TIMxCLK

TIM2..7,12..14

APB1

Prescaler

/1,2,4,8,16

TIMxCLK

TIM1,8..11

APB2

Prescaler

/1,2,4,8,16

HCLK up to 120MHz

AHB Prescaler

/1,2…512

/8 SysTick

PLL48CLK (USB FS, SDIO & RNG)

CSS

HSE Osc OSC_OUT

OSC_IN

4 -25 MHz

PLLCLK

HSI RC 16MHz

/ M HSE

HSI

SYSCLK

120 MHz max

/ P

/ Q

/ R

VCO

x N

PLL

Ethernet

PHY

USB2.0

PHY

Page 33: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Конфигуратор системной частоты

Page 34: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Контроллер прямого доступа к

памяти (DMA)

Системная периферия

Новый модуль

Page 35: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Параметры DMA

Двойная архитектура шины AHB(master), один контроллер для доступа к памяти,

второй для доступа к периферии

8 потоков на каждый DMA контроллер, до 8 каналов(запросов) на поток (2 DMA

контроллера в линейке STM32F2xx). Программно конфигурируемый выбор

каналов для каждого потока

4 x 32-бит память FIFO для каждого потока(FIFO м.б. вкл или откл).

Независимый размер источника и получателя информации(байт, полуслово,

слово): когда источник и приемник имеют разную конфигурацию, DMA

автоматически упаковывает/распаковывает данные для оптимизации скорости

обмена ( доступно только при включенном FIFO)

Режим двойной буферизации (двойной буфер м.б. активирован/деактирован).

Поддержка программного триггера для режима обмена память-память (доступно

только в DMA2)

106

Page 36: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Параметры DMA

Количество передаваемых данных может конфигурироваться либо DMА

контроллером либо самим периферийным модулем:

Смена на «лету» DMA: количество передаваемых данных от 1 до 65535

Независимый инкремент или не инкрементируемая адресация для

источника/приемника информации.

Поддержка инкрементального обмена фреймами, 4, 8 или 16. Размер фрейма

задается программно, обычно эквивалент половине буфера FIFO

периферийного модуля

Каждый поток поддерживает циклические буферы(FIFO).

5 флагов событий (половина буфера заполнена, заполнение буфера, ошибка

передачи, ошибка FIFO, ошибка направления передачи данных)

Приоритеты между потоками конфигурируются программно (4 уровня - very high,

high, medium, low) и аппаратный в случае эквивалентна

107

Page 37: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Контроллер DMA1

108

DMA1

Высокий приоритет Низкий приоритет

Stream 0

SPI3_RX

I2C1_RX

TIM4_CH1

--

UART5_RX

--

TIM5_CH3

TIM5_UP

--

Stream 1

--

--

--

TIM2_UP

TIM2_CH3

USART3_R

X

--

TIM5_CH4

TIM5_TRIG

TIM6_UP

Stream 2

SPI3_RX

TIM7_UP

--

I2C3_RX

UART4_RX

TIM3_CH4

TIM3_UP

TIM5_CH1

I2C2_RX

Stream 3

SPI2_RX

--

TIM4_CH2

--

USART3_T

X

--

TIM5_CH4

TIM5_TRIG

I2C2_RX

Stream 4

SPI2_TX

TIM7_UP

--

I2C3_TX

UART4_TX

TIM3_CH1

TIM3_TRIG

TIM5_CH2

USART3_T

X

Stream 5

SPI3_TX

I2C1_RX

--

TIM2_CH1

USART2_R

X

TIM3_CH2

--

DAC1

Stream 6

--

I2C1_TX

TIM4_UP

TIM2_CH2

TIM2_CH4

USART2_T

X

--

TIM5_UP

DAC2

Stream 7

SPI3_TX

I2C1_TX

TIM4_CH3

TIM2_UP

TIM2_CH4

UART5_TX

TIM3_CH3

--

I2C2_TX

Ch0

Ch1

Ch2

Ch3

Ch4

Ch5

Ch6

Ch7

OR OR OR OR OR OR OR OR

Page 38: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Контроллер DMA2

109

DMA2

Высокий приоритет Низкий приоритет

Stream 0

ADC1

--

ADC3

SPI1_RX

--

--

TIM1_TRIG

--

Stream 1

--

DCMI

ADC3

--

--

USART6_R

X

TIM1_CH1

TIM8_UP

Stream 2

TIM8_CH1/2

/3

ADC2

--

SPI1_RX

USART1_R

X

USART6_R

X

TIM1_CH2

TIM8_CH1

Stream 3

--

ADC2

--

SPI1_TX

SDIO

--

TIM1_CH1

TIM8_CH2

Stream 4

ADC1

--

--

--

--

--

TIM1_CH4/_

TRIG/_COM

TIM8_CH3

Stream 5

--

--

CRYP_OUT

SPI1_TX

USART1_R

X

--

TIM1_UP

--

Stream 6

TIM1_CH1/2

/3

--

CRYP_IN

--

SDIO

USART6_T

X

TIM1_CH3

--

Stream 7

--

DCMI

HASH_IN

--

USART1_T

X

USART6_T

X

--

TIM8_CH4/_

TRIG/_COM

Ch0

Ch1

Ch2

Ch3

Ch4

Ch5

Ch6

Ch7

OR SW_Trigger OR SW_Trigger OR SW_Trigger OR SW_Trigger OR SW_Trigger OR SW_Trigger OR SW_Trigger OR SW_Trigger

Page 39: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Конфигурация потоков и каналов

Каждый канал DMA включает в себя 8 каналов (запросов)

Только один канал может быть активен на потоке

Запрос с периферийного модуля может соединяться более чем 1

каналом DMA

Программный запрос используется в режиме память-память и доступен

только в контроллере DMA2

110

Page 40: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

FIFO – упаковка/распаковка данных

112

При использовании режима FIFO, DMA управляет форматом данных между источником и

получателем.

Поддерживаемые операции:

8-бит / 16-бит 32-бит / 16-бит (упаковка)

32-бит / 16-бит 8-бит / 16-бит (распаковка)

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

A1

B1

C1

D1

A1 B1 C1 D1

A2

B2

C2

A2 B2 C2 D2

A1 B1 C1 D1

T1

T2

T4

T3

T5

T6

T7

T1

T2 A2 B2 C2

D2

T8

DMA FIFO

D2

A1 B1 C1 D1

A2 B2 C2 D2

A1 B1 T1

T2

T4

T3

T1

T2

Ширина данных источника = 8-бит

Ширина данных для приемника = 32-бит

8 трансферов FIFO DMA

2 трансфера FIFO DMA получатель

DMA FIFO

Пример упаковки (8-бит 32-бит) Распаковка данных (32-бит 16-бит)

A1 B1 C1 D1

A2 B2 C2 D2

C1 D1

A2 B2

C2 D2

Ширина данных источника = 32-бит

Ширина данных приемника = 16-бит

2 трансфера источник FIFO DMA

4 трансфера FIFO DMA получатель

Page 41: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

FIFO – пороги и режим burst

113

Порог: Уровень порога определяет, когда данные FIFO должны передаться в/из памяти.

Реализовано 4 пороговых уровня:

¼ FIFO Full,1/2 FIFO Full, ¾ FIFO Full, FIFO Full

Когда достигается уровень порога FIFO, буфер заполняется/опустошается из/в память

Режим single/burst: Режим burst доступен только при разрешенном FIFO (прямой режим доступа отключен)

Режим burst позволяет конфигурировать количество данных для передачи без прерывания CPU/DMA

Доступные режимы burst: INC4: 1 burst = 4 beats (4 слова, 8 полуслов или 16 байт)

INC8: 1 burst = 8 beats (8 полуслов или 16 байт)

INC16: 1 burst = 16 beats (16 байт)

При активном режиме burst, порог FIFO должен быть совместим с размером Burst:

Memory Data Size Burst Size Allowed Threshold levels

Byte

4-Beats (INC4) ¼, ½, ¾ and Full

8-Beats (INC8) ½ & Full

16-Beats (INC16) Full

Half-Word 4-Beats (INC4) ½ & Full

8-Beats (INC8) Full

Word 4-Beats (INC4) Full

Примечание: Для размера памяти полуслово, INC16 не доступен Для размера памяти слово, INC16 и INC8 не доступен

Page 42: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Режим циклической двойной

буферизации

114

Циклический режим:

Все параметры FIFO и DMA события (TC, HT, TE) доступны в данном режиме.

Количество The number of data items is automatically reloaded and transfer restarted

This mode is NOT available for Memory-to-Memory transfers .

Режим двойной буферизации: (только в циклическом режиме)

Доступны два регистра адреса(DMA_SxM0AR и DMA_SxM1AR)

Возможность переключения между буферами, управление аппаратно

Режим память-память не доступен

Флаг контроля(CT) доступен для анализа

Флаг TC устанавливается в случае смены буфера(завершение заполнения одного из буферов)

Peripheral Data Register

DMA_SxM0AR

DMA_SxM1AR

CT TC HT

Memory location 0 Memory location 1

CT = 1

CT = 0

DMA_SxPAR

Page 43: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Интерфейс цифровой камеры (DCMI)

Системная периферия

Новый модуль

Page 44: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

121

Параметры DCMI

Основные параметры DCMI Интерфейс 8/10/12/14 - бит

Постоянный режим или режим фотоаппарата

Обрезка фотографий

Поддержка следующих форматов данных:

8/10/12/14- бит прогрессивный скан – монохромный или raw

Прогрессивный скан - YCbCr 4:2:2

Прогрессивное видео - RGB 565

Сжатие данных - JPEG

На частоте тактирования модуля 48MГц(PIXCLK) и параллельных входных 8-бит данных возможно принять:

До 15 fps несжатого потока данных в разрешении SXGA(1280x1024), 16-бит на пиксель

До 30 fps несжатого потока данных в разрешении VGA(640x480), 16-бит на пиксель

Page 45: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

122

Блок-диаграмма DCMI

Модуль DCMI – синхронный параллельный интерфейс который принимает поток данных и состоит из:

DCMI_D[0..13] – лини данных

DCMI_PIXCLK – тактирование пикселей с программируемой полярностью и фронтами

Максимальный коэффициент AHB/PIXCLK = 2.5, максимальное знач PIXCLK = 48 MГц

DCMI_HSYNC – горизонтальная синхронизация, индикация начала/конца линии

DCMI_VSYNC - вертикальная синхронизация, индикация начала/конца фрейма

5 флагов прерывания, 1 глобальная линия

IT_LINE – конец линии

IT_FRAME – захват фрейма

IT_OVR – переполнение приемных данных

IT_VSYNC – синхронизация фрейма

IT_ERR – возникновение ошибки синхронизации

DCMI

DCMI_D[0..13]

DCMI_PIXCLK

DCMI_HSYNC

DCMI_VSYNC AH

B B

us

DCMI Interrupt to NVIC

DCMI Request to DMA

Page 46: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Пример обмена данными через DCMI

123

FSMC

DMA

DCMI

LCD STM32F2xx

DCMI_PIXCLK

DCMI_D[0..13]

DCMI_HSYNC

DCMI_VSYNC

Camera

Данные записываются в 32-бит регистр DCMI_DR, соединенным с высокоскоростной шиной AHB

4x32-бит FIFO + DMA

Page 47: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

126

Режим обрезки DCMI Интерфейс DCMI может выбирать прямоугольное окно из принятого изображения

Координаты старта и размера задаются через два 32-бит регистра, DCMI_CWSTRT и DCMI_CWSIZE.

Размер окна задается в количестве пикселей тактирования(горизонтальный размер) и количества линий(вертикальный размер)

Вертикальное смещение (линии)

Горизонтальное смещение(пиксели)

Количество л

иний

Захват(пиксели)

Page 48: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

АЦП (ADC)

Аналоговая периферия

Page 49: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

146

Параметры АЦП (1/3)

3 АЦП : АЦП1 (master), AЦП2 и AЦП3 (slaves).

Максимальная частота модуля АЦП = 30МГц.

Конфигурируемое разрешение 12-бит, 10-бит, 8-бит или 6-бит

Скорость преобразования АЦП при разрешении 12 бит:

2 Мсемл/с в одиночном режиме

3,75 Mсемпл/с в двойном режиме работы

6 Мсемпл/с в тройном режиме работы

Диапазон преобразования: 0 - 3.6 В

Требования по питанию: VDDA = 2.4 В - 3.6 В для достижения полной

скорости и снижение до 1.65В для низкой скорости

До 24 внешних каналов

3 внутренних канала АЦП1:

Температурный датчик,

Встроенное опорное напряжение - VREFINT (1.2 В),

Мониторинг VBAT

Page 50: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

147

Параметры АЦП (2/3)

Внешние триггера для двух групп преобразований.

Одиночный и постоянные режимы преобразований

Режим сканирования для автоматического преобразования группы каналов

Выравнивание по левому и правому краю

Конфигурируемое время сеэмплирования для каждого канала

Двойной и тройной режимы( АЦП1+АПЦ2 или все 3 АЦП) с возможностями:

Инжектированный синхронный режим (Injected simultaneous mode)

Регулярный синхронный режим (Regular simultaneous mode)

Вложенный режим (Interleaved mode)

Режим поочередного триггера (Alternate trigger mode)

Injected simultaneous mode + Regular simultaneous режим

Regular simultaneous mode + Alternate trigger режим

Page 51: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

148

Параметры (3/3)

Поддержка DMA:

Генерация запроса DMA во время преобразования регулярного канала в одиночном режиме

Режим “ADC-DMA mode 1” используется в синхронном двойном/тройном режиме работы АЦП

Режим “ADC-DMA mode 2” используется во вложенном двойном/тройном режиме работы АЦП

и так же в регулярном синхронном двойном режиме работы АЦП

Режим “ADC-DMA mode 3” используется во вложенном двойном/тройном режиме работы АЦП

с разрешением 6-бит и 8-бит

Аналоговый сторожевой таймер

Генерация прерываний:

Окончание преобразования(регулярной группы каналов)

Окончание инжектированного преобразования

Аналоговый сторожевой таймер

Переполнение

Page 52: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

149

Производительность

AHBCLK APB2CLK ADC_CLK СкоростьADC (15 циклов)

120MГц (a)

60MГц (1)

30MГц

0.5 мкс 2 Mсэмл/с

112MГц(a)

56MГц (1)

28MГц

0.536мкс 1.866 Мсэмпл/с

108MГц(a)

54MГц (1)

27MГц

0.555мкс 1.8 Mсэмл/с

96MГц(a)

48MГц (1)

24MГц

0.625мкс 1.6 Mсэмпл/с

60MГц (b)

60MГц (1)

30MГц

0.5мкс 2 Mсэмпл/с

(1). ADC_PRESC = /2

(a) APB_PRESC = /2

(b) APB_PRESC = /1

SYSCLK

(120MГц макс)

AHB_PRESC

/1,2,..512

APB2_PRESC

/2, 4, 8,16

ADC_PRESC

/2,4,8

ADC_CLK

(30MГц макс)

AHBCLK

(120MГц макс)

APB2CLK

(60MГц макс)

Page 53: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

150

ADCCLK до 30MГц, приходит от PCLK через предделитель

2/4/6/8

Время сэмплирования для каждого канала:

3 цикла

15 цикла

28 цикла

58 цикла

84 цикла

112 цикла

144 цикла

480 цикла

Время сэмлирования (TSampling)

ADCx

ADCCLK Prescaler

/2, /4, /6 or /8 PCLK

112 cycles

15 cycles

144 cycles

84 cycles

28 cycles

58 cycles

3 cycles

480 cycles

Sa

mp

le T

ime

S

ele

ctio

n

SMPx[2:0]

Page 54: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

151

Общее время преобразования

Общее время преобразования TTotal = TSampling + TConversion

Если время сэмплирования = 3 цикла и ADC_CLK = 30MГц Общее время

преобразования равно:

Разрешение TConversion

12 бит 12 Циклов

10 бит 10 Циклов

8 бит 8 Циклов

6 бит 6 Циклов

Разрешение TTotal

12 бит 12 + 3 = 15 циклов 0.5 мкс 2 Mс/с

10 бит 10 + 3 = 13 циклов 0.433 мкс 2.30 Mc/c

8 бит 8 + 3 = 11 циклов 0.366 мкс 2.72 Mc/c

6 бит 6 + 3 = 9 циклов 0.3 мкс 3.33 Mc/c

Page 55: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

3 ADC_CLK 6 9 12 15 18 21 24 27 30

0

-2

+2

Одиночный режим АЦП (разрешение 12 - бит)

3

Выборка

Преобразование 12 3 12

1я выборка 2я выборка

Пример канала с

выборкой каждые 15

циклов тактирования

АЦП

Скорость

преобразования в

приведенном

примере:

30MГц/15 = 2Mс/с

30МГц максимальная

частота тактирвоания

АЦП в линейке

STM32F2xx

3я выборка

ADC1

Page 56: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

153

Регулярные и инжектированные группы

Конфигурируемое количество регулярных каналов до 16

Конфигурируемое время сэмплирования и последовательность

Старт преобразования:

Программный: через старт - бит

Внешний триггер, генерируемый:

EXTI IT11,

15 сигналов с 6 таймеров,

Конфигурируемое количество инжектированных каналов до 4х

Конфигурируемое время сэмплирования и последовательность каналов

Старт преобразования:

JAUTO – автоматический старт инжектированной группы после регулярной

группы преобразований

Программный – через старт – бит

Внешний триггер, генерируемый:

EXTI IT15,

15 сигналов с 6 таймеров

Page 57: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

154

Последовательность АЦП

До 16 регулярных каналов и до 4 инжектированных каналов с

программируемым порядком, временем сэмплирования и

возможностью оверсэмплинга

Пример: - Преобразование каналов - 0, 2, 8, 4, 7, 3, 3 ,3 и 11

- Различное время сэмплирования.

- Оверсэмплинг 3 канала

Канал 0 Канал 2 Канал 8 Канал 4 Канал 7 Канал 3 Канал 3 Канал 3 Канал 11

15 циклов 3 цикла

28 циклов

3 цикла

28 цикла 28 x 3

циклов

58 циклов

Page 58: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

155

Режимы преобразования АЦП

5 режимов преобразования:

CHx Один канал

Режим одиночного

преобразования

CHx

. . .

CHn Многоканальный (Scan)

Режим одиночного

преобразования

CHx

. . .

CHn

Многоканальный (Scan)

Режим непрерывного

преобразования

CHx

Один канал

Режим непрерывного

преобразования

………….. CHa Постоянный режим

преобразования

(discontinuous)

CHb CHc CHx CHy CHz

Page 59: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

156

Постоянный режим преобразования

Разделение каналов на подгруппы

Доступно для обеих групп преобразований:

До 8 преобразований для регулярной группы

До 3 преобразований для инжектированной группы

Пример:

- Преобразование регулярных каналов: 0, 1, 2, 4, 5, 8, 9, 11, 12, 13, 14 и 15

- Непрерывный режим, количество каналов – 3

Ch.0 Ch.1 Ch.2 Ch.4 Ch.5 Ch.8 Ch.9 Ch.11 Ch.12

Ch.13 Ch.14 Ch.15

1st триггер 3rd триггер

4th триггер

Окончание преобразования

Ch.0 Ch.1 Ch.2

5th триггер

Примечание: нельзя использовать

дискретный режим для обоих

групп преобразований. Данный

режим может использоваться

только для одной группы

2st триггер

Page 60: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

157

Аналоговый сторожевой таймер

12-бит конфигурируемые высокий и низкие пороги

Разрешает работу одного или всех каналов: 1 регулярный и/или 1

инжектированный канал, инжектированные и/или регулярные

группы каналов

Генерация прерывания по обоим порогам

Status Register

Analog Watchdog

Low Threshold Temp Sensor

VREFINT

ADC_IN0

ADC_IN1

ADC_IN15

.

.

.

AWD

High Threshold . . .

Page 61: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

158

Температурный датчик и мониторинг VBAT

Датчик температуры внутренне соединен с каналом ADC1_IN16 i

Датчик температуры может использоваться для измерения

внутренней температуры микроконтроллера (TJ).

Точность порядка +/- 1.5°C.

Вход VBAT может быть преобразован с канала ADC1_IN18 для

мониторинга питания батарейки

Также напряжение на VBAT может быть выше чем VDDA, для

гарантирования корректной работы АЦП, входное напряжение

VBAT необходимо поделить на 2

Page 62: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

159

Функциональная схема АЦП

Page 63: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

160

Двойной режим работы АЦП

AЦП1 как мастер и АЦП2 как слейв, АПЦ3 работает независимо

Старт преобразования начинается поочередно или синхронно, где

АЦП1 выступает как master а АЦП2 как slave, в зависимости от

режима работы

6 различных режимов работы

AD

C_

IN

0

AD

C_

IN

15

GPIO Ports

Tem

p S

en

sor

VR

EFIN

T

До 4х энжектир

каналов

До 16 регулярных каналов

ANALOG MUX

AD

C_

IN

1

АЦП1 АЦП2

Master Slave

Внешнее событие синхронизации

Внешнее событие (регулярная группа)

Регистр данных

EOC/JEOC

Com

mon

part

Du

al/

Trip

le m

od

e c

on

trol

EOC/JEOC

Внешнее событие синхронизации

Регистр данных

Внешнее событие (инжектированная группа)

Page 64: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

161

Тройной режим работы АЦП (1/7)

GPIO Ports

Tem

p S

en

sor

VR

EFIN

T

До 4х инжектированных

До 16ти регулярных каналов

AD

C_

IN

0

ANALOG MUX

AD

C_

IN

1

AD

C_

IN

15

ADC1 Analog

АЦП2

Digital Master Slave

Внешнее событие синхронизации

Внешнее событие (регул группа)

Внешнее событие (инжектир группа) Регистр данных

EOC/JEOC

Com

mon

part

Du

al/

Trip

le m

od

e c

on

trol

EOC/JEOC

Внешнее событие синхронизации

Регистр данных

АЦП3

Slave

AЦП1 как master, ADC2 и ADC3 как slaves.

Старт преобразования начинается поочередно или синхронно АЦП1

далее АЦП2 и АЦП3 в зависимости от режима работы

6 различных режимов работы

Page 65: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Тройной режим работы АЦП (2/7)

Преобразование инжектированной группы

Внешний источник запуска, запускающий преобразование, приходит с

АЦП1 (синхронный запуск предоставляется АЦП2 и АЦП3 как slaves).

Окончание преобразования генерируется одновременно всеми

каналами АЦП

Результаты сохраняются в регистрах данных инжектированной группы

каждого АЦП

Инжектированный синхронный режим по 4м каналам:

CH0 CH1 CH2 CH3

CH2 CH3 CH4 CH0

AЦП1

AЦП2

Выборка

CH1 CH4 CH3 CH2 AЦП3

Событие триггера инжектированных

каналов

Окончание преобразований каналов АЦП1, АЦП2 и АЦП3

Преобразование

Примечание: нельзя преобразовывать одинаковые каналы на 3х АЦП

Инжектированный синхронный режим

Page 66: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Тройной режим работы АЦП (3/7)

Преобразование регулярной группы каналов

Внешний источник старта, приходит от АЦП1 (синхронный старт для

АЦП2 и АЦП3).

Окончание преобразования регулярной группы генерируется по

окончанию преобразования всех каналов.

Результат сохраняется в общем регистре ADC_CDR.

Регулярный синхронный режим по 16 каналам:

CH0 CH1 CH2 CH3

CH15 CH14 CH13 CH12

АЦП1

АЦП2

CH10 CH12 CH8 CH5 АЦП3

… CH15

… CH0

… CH2

Регулярный синхронный режим

Примечание: нельзя преобразовывать одинаковые каналы на 3х АЦП

Выборка

Преобразование

Окончание преобразований каналов АЦП1, АЦП2 и АЦП3 Событие триггера

регулярных каналов

Page 67: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Тройной режим работы АЦП (4/7)

Преобразование регулярной группы каналов(обычно один канал).

Внешний источник старта, начинающий преобразование – приходит от АЦП1:

Старт АЦП1 незамедлительно

Старт АЦП2 после задержки в 5 циклов тактирования АЦП

Старт АЦП3 после задержки в 5 циклов тактирования АЦП после старта преобразования АЦП2

Критерий оценки скорости "Tsampling + 2 цикла АЦП“ – минимальная задержка

Результат сохраняется в общем регистре ADC_CDR.

Вложенное преобразование 1 регулярного канала в непрерывном режиме:

CH0 AЦП1

AЦП2

5 ADCCLK циклов

… CH0

CH0 CH0

CH0

CH0 … CH0 CH0

Запрос DMA после каждых 2 преобразований

CH0

AЦП3

Конец преобразования АЦП2

Конец преобразования АЦП1

Конец преобразования АЦП3

Выборка

Преобразование

Вложенный режим

Событие от триггера

Page 68: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

3 ADC_CLK 6 9 12 15 18 21 24 27 30

0

-2

+2

Преобразование в тройном вложенном режиме разрешение 12 бит

3 12

3 12

1й сэмпл

2й сэмпл

Выборка сигнала

происходит каждые 5

циклов тактирвоания

АЦП.

Скорость времени

сэмплирования в этом

случае эквивалентна:

30MГц/5 = 6Mс/сек

30MГц –

максимальная частота

тактирования для

линейки STM32F2xx

3й сэмпл

AЦП1

5

5 циклов

15

3 12

4й сэмпл

25

3 12

3 12

AЦП2

AЦП3

10

5 5

5й сэмпл

20

6й сэмпл

5 5

3 12

Выборка

Преобразование

Page 69: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

167

Тройной режим работы АЦП (5/7)

CHх

Преобразование инжектированной группы каналов.

Внешний источник старта от АЦП1:

1 триггер, преобразование первой инжектированной группы каналов АЦП1

2 триггер, преобразование первой инжектированной группы каналов АЦП2

3 триггер, преобразование первой инжектированной группы каналов АЦП3

4 триггер, преобразование первой инжектированной группы каналов АЦП1 …

Флаг окончания преобразования генерируется в конце преобразования

Результаты сохраняются в регистрах данных инжектированной группы

каждого АЦП

AЦП1

AЦП2

Режим поочередного триггера 4 инжектированных каналов:

CHх

CHх

CHх CHх

CHх CHх

1st триггер

4th триггер

7th триггер

10th триггер

CHх

JEOC on ADC1 JEOC JEOC JEOC

JEOC JEOC JEOC JEOC on ADC2

AЦП3 CHх CHх CHх CHх

JEOC JEOC JEOC JEOC on ADC3

2nd триггер

3th триггер

5th триггер

6th триггер

8th триггер

9th триггер

11th триггер

12th триггер

Выборка

Преобразование

Режим поочередного триггера

Page 70: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Тройной режим работы АЦП(6/7) Combined Regular + Injected simultaneous режим

Преобразование инжектированной и регулярной группы

Внешние источники триггера – начала преобразований, приходят от АЦП1

(синхронный запуск АЦП2 и АЦП3): инжектированный синхронный режим

может прерывать все остальные преобразования

Результаты преобразований инжектированной группы сохраняются в

регистрах каждого АЦП, а регулярной группы в общем регистре ADC_CDR

Комбинированный регулярный + инжектированный синхронный режим, 4 регулярных

канала и 2 инжектированных канала:

CH0 CH1 CH1 CH2

CH3 CH2 CH2 CH1

AЦП1

AЦП2

Триггер для регулярных

каналов

CH0 CH1

CH2 CH4

AЦП1

AЦП2

Конец инжектированного преобразования AЦП1, AЦП2 и АЦП3.

CH3

CH0

CH1 CH3 CH3 CH0 CH2 AЦП3

CH3 CH0 AЦП3

Выборка

Преобразование

Примечание: нельзя преобразовывать

одинаковые каналы на 3х АЦП

Триггер для инжектированных каналов

Конец регулярных преобразований AЦП1, AЦП2 и АЦП3.

Прерывание регулярной группы инжектированной группой

Page 71: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Тройной режим работы АЦП(7/7) Combined Regular simultaneous + Alternate Trigger режим

Преобразование инжектированной и регулярной группы

Внешние источники триггера – начала преобразований, приходят от АЦП1

(синхронный запуск АЦП2 и АЦП3): альтернативный триггерный режим

может прерывать все остальные преобразования.

Результаты преобразований инжектированной группы сохраняются в

регистрах каждого АЦП, а регулярной группы в общем регистре ADC_CDR

Комбинированный регулярный синхронный + режим поочередного

триггера:

CH0 CH1 CH1 CH2

CH3 CH0 CH0 CH1

AЦП1 reg

AЦП2 reg

Триггер регулярных

каналов

AЦП1 inj

AЦП2 inj

Синхронный режим регулярной группы прерывается

CH10 2nd инж триггер

CH11

CH2

CH1

Конец преобразования АЦП1

1st инж триггер

CH1 CH2 CH2 CH3 AЦП3 reg CH3

CH3

CH12

CH3

CH2 CH2

CH0 CH0

АЦП3 inj

3th инжект триггер

Конец преобразования AЦП1, AЦП2 и АЦП3.

Конец преобразования АЦП2

Конец преобразования АЦП3

Page 72: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

170

АЦП и DMA(1/4): одиночный режим

Запросы DMA генерируются каждым АЦП по завершению

преобразования только регулярной группы

Пример:

- Преобразование регулярной группы: 0, 2, 3, 4, 2, 5,

9, 7 и 8

- Преобразованные данные ConvertedValue_Tab[10]

- Сохранение через DMA (адрес назначения

автоинктерментируется)

Канал 0 Канал 2 Канал 3 Канал 4 Канал 2 Канал 5 Канал 9 Канал 7 Канал 8

DMA запрос

Результат преобразования Сh0

Результат преобразования Сh2

Результат преобразования Сh3

Результат преобразования Сh4

Результат преобразования Сh2

Результат преобразования Сh5

Результат преобразования Сh9

Результат преобразования Сh7

Результат преобразования Сh8

Регистр ADC_DR .

.

.

DMA запрос

DMA запрос

DMA запрос

DMA запрос

DMA запрос

DMA запрос

DMA запрос

DMA запрос

ConvertedValue_Tab[10]

Примечание:

Каждый раз DMA читает регистр ADC_DR, флаг

EOC очищается автоматически

Page 73: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

174

Флаги и прерывания АЦП

OVRIE

EOCIE

JEOCIE

AWDIE

Биты разрешения прерываний

ADCx

Глобальное прерывание

(NVIC)

STRT

JSTRT

OVR

EOC

JEOC

AWD

Флаги

OVR : Переполнение, предыдущие данные потеряны

JEOC : «Окончание преобразования инжектированного

канала» показывает окончание преобразование

ГРУППЫ

STRT: «Старт регулярного канала» показывает когда

начинается преобразование регулярного КАНАЛА

JSTRT: «Старт регулярного канала» показывает начало

преобразования инжектированной ГРУППЫ

EOC : «Окончание преобразования регулярного канала»

показывает(зависит от бита EOCS) окончание :

регулярного преобразования КАНАЛА

последовательности регулярной ГРУППЫ

AWD : «Аналоговый ватчдог», показывает выход сигнала

за значение одного из порогов

Флаги регулярной группы

Флаги инжектированной группы

Общие флаги АЦП

Page 74: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

CAN

Периферия обмена

данными

Аналог STM32F1

Page 75: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Параметры CAN

Двойной CAN 2.0 A/B, Active, скорость обмена до 1Mбит/с, на шине APB1

Поддержка Time Triggered Communication

Три почтовых ящика (mailboxes) с конфигурированным приоритетом

Два буфера FIFO на прием с тремя with three уровнями и 28ю банками фильтров, объединенных между CAN1 и CAN2

Прием и передача Time Stamp on SOF

Маскируемые прерывания

Программное распределение почтовых ящиков по уникальным адресам

4 выделенных вектора прерывания: передача, FIFO0, FIFO1 и изменение статуса

Два модуля CAN используют выделенную 512-байт SRAM память и совместимы с параллельной работой USB OTG FS

178

Page 76: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Блок - диаграмма – двойной CAN

179

CA

N 2

.0B

Activ

e C

ore

CAN1(Master) с 512 байтами SRAM

Control/Status/Configuration Registers

CA

N 2

.0B

Activ

e C

ore

Master Tx Mailboxes

Mailbox 2

Mailbox 1

Mailbox 0

Master Receive FIFO 0

Mailbox 2

Mailbox 1

Mailbox 0

Mailbox 2

Mailbox 1

Mailbox 0

Memory Access Controller

• CAN 2: Slave BxCAN – начальный банк фильтров n[27:1] конфигурируется программно

•CAN1: Master BxCAN управляет обменом между Slave BxCAN и 512-байтами SRAM памяти

CAN2(Slave)

Master Control Master Status

Tx Status

RxFIFO1 Status Interrupt Enable

Error Status Bit Timing

Filter Mode

Filter Bank x[27:0]

Filter Master Filter Scale

Filter FIFO Assignment

Filter Activation

RxFIFO0 Status

Control/Status/Configuration Registers

Master Control Master Status

Tx Status

RxFIFO1 Status Interrupt Enable

Error Status Bit Timing

RxFIFO0 Status

Transmission

Scheduler

Transmission

Scheduler

Slave Tx Mailboxes

27

.. n

.. 1

Filter 0

Master Receive FIFO 1

Mailbox 2

Mailbox 1

Mailbox 0

Slave Receive FIFO 0

Mailbox 2

Mailbox 1

Mailbox 0

Slave Receive FIFO 1

Mailbox 2

Mailbox 1

Mailbox 0

Acceptance Filters Master filter: 0 .. n-1

Slave filter: n..27

Page 77: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

FSMC (Flexible Static Memory Controller )

Аналог STM32F1

Page 78: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

181

Параметры FSMC Основные параметры:

4 банка для поддержки внешней памяти

Максимальная частота 60MГц в случае HCLK = 120MГц

Независимый «chip select» для каждого банка

Независимая конфигурация для каждого банка

Интерфейс включает :

Static Random Access Memory (SRAM)

Read-Only memory (ROM)

NOR/ OneNAND Flash memory

PSRAM

Интерфейс к параллельному LCD: Intel 8080 и Motorola 6800

Поддержка режима burst для синхронных типов (NOR Flash и PSRAM)

NAND Flash и 16-бит PC Cards

Программируемый тайминг для поддержки большого типа устройств

Внешний асинхронный «wait control»

Более высокая производительность чем в STM32F10x

Page 79: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

182

Блок-диаграмма FSMC

FSMC состоит из 4х основных блока:

Интерфейс шины AHB (включая регистры конфигурации)

Контроллер памяти NOR Flash/PSRAM

Контроллер памяти NAND Flash/PC

Внешний интерфейс

A

HB

Bu

s Configuration

Registers

NOR Memory

Controller

NAND/PC Card

Memory

Controller

NOR Signals

PC Card Signals

NAND Signals

Shared Signals

FSMCCLK from RCC

FSMC Interrupt to NVIC

Page 80: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

183

Память FSMC Вся память FSMC делится на 4 банка по 4 x 64 Mб :

Банк 1 используется для адресации NOR Flash, OneNAND или PSRAM .

Банки 2 и 3 используются для адресации NAND

Банк 4 используется для адресации PC Card

Bank 1

4x64 MB

Bank 2

256 MB

Bank 3

256 MB

Bank 4

256 MB

0x6000 0000

0x7000 0000

0x8000 0000

0x9000 0000

0x6FFF FFFF

0x7FFF FFFF

0x8FFF FFFF

0x9FFF FFFF

Поддерживаемые типы данных

NOR/PSRAM/SRAM/CRAM/OneNAND

NAND Flash

PC Card

Page 81: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

186

Подключение LCD

NOR/SRA

M Bank

NOR Memory

Controller

FSMC_NE[4:1]

FSMC_Ax

FSMC_D[15:0]

FSMC_NOE

FSMC_NWE

LCD Intel 8080

Controller

LCD /CS

LCD RS

LCD D[15:0]

LCD /RD

LCD /WR

AN2790: TFT LCD interfacing with the High-density STM32F10xxx FSMC

FSMC_Ax: где x может быть от 0 до 25

Page 82: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

STM32F2xx FSMC vs STM32F10x

Улучшенная производительность и возможность использования

памяти FSMC c нулевого адреса (более быстрое выполнение кода vs.

System bus)

WAIT для асинхронных типов памяти не поддерживается( для NOR и

PSRAM)

Поддержка памяти OneNAND, синхронный и асинхронный доступ.

Поддержка только 16-бит PCCARD, формат NIOIS16 больше не

поддерживается

192

Page 83: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Таймеры (TIM)

Аналог STM32F1

Page 84: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

214

Обзор таймеров в STM32F2x

Разрешение

Режим счетаПредделитель

DMAКаналы Захвата/

Сравнения

Комплементарные выводы

Синхронизация

Master Slave

С расширенными возможностями TIM1 и TIM8

16 битвверх, вниз и вверх/вниз

1..65536

ДА 4 3 ДА ДА

Общего назначения (1) TIM2 и TIM5

32 битвверх, вниз и вверх/вниз

1..65536

ДА 4 0 ДА ДА

Общего назначения TIM3 и TIM4

16 битвверх, вниз и вверх/вниз

1..65536

ДА 4 0 ДА ДА

Базовые TIM6 и TIM7

16 бит вверх1..6553

6ДА 0 0 ДА НЕТ

1-канальные TIM10..11 и TIM13..14

16 бит вверх1..6553

6НЕТ 1 0 ДА НЕТ

2 –канальные TIM9 и TIM12

16 бит вверх1..6553

6НЕТ 2 0 НЕТ ДА

(1) Новые 32-бит таймеры

Page 85: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

I2C

Аналог STM32F1

Периферия обмена

данными

Page 86: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

STM32F2x I2C и STM32F10x I2C

Максимальное количество I2C = 3 ( 2 в

линейке STM32F10x)

Одна ошибка исправлена в STM32F2x:

“Несколько программных событий должны быть

управляемы до того, как текущий байт должен

передаться”

260

Page 87: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

USART

Аналог STM32F1

Периферия обмена

данными

Page 88: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Различия STM32F2x vs STM32F10x

Применение оверсэмплинга по основанию 8 позволяют достичь

7.5Mбит/с для USART1/6 и 3.75Mбит/с для USART2/3/4/5 (против

3.75Mбит/с и 1.87M бит/с в STM32F1x).

Количество USART = 6 (2 USART на выкоскоростной шине APB2)

Режим «One Sample Bit» позволяет исключить ложные

срабатывания для приложений, работающих в сложных условиях

Ошибка: “Parity Error flag (PE) устанавливается снова после

программной очистки” [CAT2] устранен в STM32F2xx

272

Page 89: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

SPI

Аналог STM32F1

Периферия обмена

данными

Page 90: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Параметры SPI(1/2)

Два SPI: SPI1 на HS шине APB2 и SPI2 на LS шине APB1

Полно дуплексный синхронный режим на 3 линиях

Синхронный симплекс на 2 линиях с или без двунаправленной

линией данных

Конфигурируемый размер фрейма данных – 8 бит или 16 бит

Конфигурируемый порядок данных - MSB-first или LSB-first

Поддержка режимов работы ведущего(master) и ведомого(slave)

Программируемая скорость обмена - до 30 МГц в режимах

master/slave

Аппаратное или программное управление NSS(CS) для обоих

режимов – master/slave: динамическая смена операций

master/slave

277

Page 91: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

SDIO STM32F2x vs STM32F10x

Клок SDIOCLK в STM32F2xx соединен с фиксированной

частотой PLL48CK (48MГц) , вместо HCLK на STM32F10x.

Одна ошибка SDIO исправлена в STM32F2xx:

“Ограниченная мультибайтовая поддержка SDIO карт”

Эта ошибка устранена модификацией бита DTMODE в регистре

SDIO_DCTRL[2] :

Bit 2 DTMODE: Data transfer mode selection 1: Stream or SDIO multibyte

data transfer.

0: Block data transfer

1: Stream or SDIO multibyte data transfer

312

Page 92: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

USB 2.0 OTG HS

Новая периферия

Периферия обмена

данными

Page 93: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Основные параметры

Полная совместимость на уровне регистров с USB OTG FS

High-Speed (480 Mбит/с), Full-Speed и Low-Speed операции в режиме Host и High-Speed/Full-Speed режиме Device

Три опции интерфейса PHY Встроенный физический уровень FS PHY

I2C интерфейс для FS I2C PHY

Интерфейс ULPI для HS PHY

Поддержка DMA с выделенным 4Kб FIFO

Page 94: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Параметры режима Device

Тоже самое, что и режим FS с некоторыми изменениями:

До 5 IN bulk, interrupt или isochronous endpoints ( 3 в FS)

До 5 OUT bulk, interrupt или isochronous endpoints ( 3 in FS)

Отдельный вектор в NVIC для EP1_IN

Отдельный вектор в NVIC для EP1_OUT

Посылка подтверждения NYET

В режиме HS, после приема пакета, ядро отправляет NYET в

случае отсутствия свободного места в RxFIFO

Page 95: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Параметры режима HOST

Такие же как и в режиме FS с некоторыми изменениями

До 12 каналов ( 8 в FS )

Специфичные свойства HS протокола Протокол PING: когда HS device не готов принять новый пакет,

отправляется NYET или NAK. В этом случае Host прекращает

пересылку данных, но периодически происходит проверка, готово ли

устройство принимать пакеты PING - протокола

Протокол SPLIT: в случае, если Host соединен с HS HUB, к которому

также подключены устройства FS и LS, Host не будет ожидать отклика

от устройства, он продолжит транзакции с другими HS устройствами.

Но периодически будет проверять, есть ли отклик от менее скоростного

устройства

Мульти-транзакции во время одного микро-фрейма (125мкс) для

изохронных трансферов, использующих DATA0, DATA1, DATA2 и

MDATA PID

Page 96: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Соединение ULPI High Speed PHY

Page 97: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Криптографический сопроцессор (CRYP)

Новая периферия

Периферия обмена

данными

Page 98: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

343

Принцип алгоритма CRYP

Отправитель

Исходные

данные

Шифрованные

данные Шифрация

Симметричный

ключ

Получатель

Исходные

данные

Шифрованные

данные Дешифрация

Отправитель имеет:

Сообщение для посылки

Секретный ключ (симметричный)

Адресат имеет

Секретный ключ

Clear

Data

Симметричный

ключ

Page 99: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

344

Параметры модуля CRYP (1/2)

Предназначен для шифрования и дешифрования AES, DES и TDES

Работа модуля на частоте тактирования ядра, до 120 MГц.

DES/TDES:

Прямая реализация простого алгоритма DES (используется один ключ

K1)

Поддержка алгоритмов ECB and CBC

Поддержка ключей 64, 128 и 192-бит (включая паритет)

В режиме CBC используется 64 вектора инициализации

16 HCLK циклов для одного 64-бит блока для DES

48 HCLK циклов для одного 64-бит блока для TDES

Page 100: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

345

Параметры модуля CRYP (2/2)

AES

Поддержка алгоритмов ECB, CBC и CTR

Поддержка ключей 128, 192 и 256-бит

В режиме CBC и CTR используются 128-бит вектора инициализации(IV)

14, 16 или 18 HCLK цикла (в зависимости от ширины ключа) для 128 –

бит блока для AES

Общие параметры DES/TDES и AES

Входной и выходной FIFO (каждый по 8-слов по 32 бит, соответственно

4 DES блока или 2 AES блока)

Автоматический контроль размерности данных с поддержкой DMA (2

канала, 1 для входящих данных, второй для обрабатываемых)

Подкачка данных для поддержки 1, 8, 16 или 32-бит данных

Page 101: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

348

Обзор алгоритмов шифрации

AES DES TDES

Размер ключа 128, 192 или 256 бит 64* бит

* 8 бит паритета

192***, 128** или 64* бит * 8 бит паритета : Keying option 1

** 16 бит паритета: Keying option 2

***24 бит паритета: Keying option 3

Размер блока 128 бит 64 бит 64 бит

Time to process

one block

14 HCLK циклов ключ 128

16 HCLK циклов ключ192

18 HCLK циклов ключ 256

16 HCLK циклов 48 HCLK циклов

Тип Зашифрованный блок Зашифрованный

блок Зашифрованный блок

Структура Substitution-permutation

network Feistel network Feistel network

Первая

публикация 1998

1977

(стандартизирова

н в январе 1979)

1998 (ANS X9.52)

Page 102: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

349

Flags

Блок – диаграмма CRYP

Key: 128-, 192- and 256-bit

Key: 64-bit

Key: 64-, 128- and 192-bit

TDES

AES

DES

CRYPTO Processor

Inp

ut

FIF

O

Ou

tpu

t F

IFO

Data

sw

ap

pin

g

Data

sw

ap

pin

g

ECB CBC CTR

Запрос DMA

для входящих

данных

Запрос DMA для

выходящих

данных

BUSY OFFU OFNE IFNF IFEM

ECB CBC

ECB CBC

OUTRIS INRIS

CRYPTO Global interrupt

(NVIC)

OUTIM INIM OUTMIS INMIS

Page 103: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Пропускная способность CRYP

AES-128 AES-192 AES-256 DES TDES

HW

Theoretical 137.14 120.00 106.67 60.00 20.00

HW Without

DMA 51.89 51.89 44.65 30.97 11.43

HW With

DMA 128.00 120.00 106.67 60.00 20.00

Pure SW 0.99 0.82 0.69 0.53 0.18

Пропускная способность в Mб/с на 120 MГц

Page 104: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Генератор случайных чисел (RNG)

Новая периферия

Page 105: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

375

Параметры RNG

32-бит случайные числа, генерируемые на основе аналогового

генератора (аналоговый шум)

Тактирование от отдельной линии (PLL48CLK)

Необходимо 40 тактов PLL48CLK для формирования случайного числа

Может быть отключен для снижения потребления

Генерация случайных чисел более 85% по стандарту FIPS 140-2 (Federal

Information Processing Standards Publication 140-2), тест порядка 20

000 бит.

5 флагов

1 флаг – данные готовы для чтения

2 флага – «не нормальная» последовательность

2 флага ошибки частоты (частота PLL48CLK ниже необходимой).

1 прерывание

Индикация о ошибке («не нормальная» последовательность или ошибка тактирования)

Page 106: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

376

Блок – диаграмма RNG

RNG

RNG_CLK

Флаги Бит разрешения

прерывания

RNG iпрерывание к NVIC

IM DRDY

LFSR

(Linear Feedback

Shift register)

Analog Seed

32bit random

data register Clock checker

Fault detector

CEIS SEIS SECS CECS

Error management

Page 107: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

HASH сопроцессор (HASH)

Новая периферия

Page 108: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

379

Определение

Функция HASH – определенная процедура, которая из блока

информации генерирует и возвращает фиксированный блок

данных – зашифрованное HASH - значение, которое

представляет собой некий зашифрованный сокращенный образ.

Сообщение

(данные для

кодировки)

Блок данных

Фиксированная строка бит

Digest Hash function

Page 109: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

380

Определения

SHA-1 : Secure Hash Algorithm

MD5 : Message-Digest algorithm 5

HMAC : (keyed-Hash Message Authentication Code)

HASH : Кодирование алгоритмами SHA-1 и MD5 произвольного

блока данных, максимальное значение (264 – 1) бит

Алгоритм HMAC обеспечивает аутентификацию сообщения

Алгоритм HMAC содержит SHA-1 или MD5 hash – функции с

секретным ключём

Page 110: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

381

Параметры HASH (1/2)

Предназначен для проверки и аутентификации приложений,

совместимой с:

FIPS PUB 180-2 (Federal Information Processing Standards Publication

180-2)

Secure Hash Standard specifications (SHA-1)

IETF RFC 1321 (Internet Engineering Task Force Request For Comments

number 1321) specifications (MD5)

Периферийный модуль на шине AHB

Быстрое выполнение алгоритмов SHA-1 и MD5 :

66 HCLK циклов на SHA-1

50 HCLK циклов MD5

5 × 32-бит слов (H0, H1, H2, H3 и H4) для профиля сообщения

(digest)

Page 111: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

383

Flags

Блок – диаграмма HASH

MD5 SHA-1

HASH

HASH Processor

Inp

ut

FIF

O

Data

sw

ap

pin

g

DMA request

BUSY DMAS DCIS DINIS

HASH Global interrupt

(NVIC)

DCIM

DINIM

HMAC

Message

Digest

H0..H4

5x32bit

16 x

32b

it

Page 112: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

385

Алгоритм HMAC

Алгоритм HMAC используется для аутентификации сообщения, безвозвратное связывание сообщения с ключем

Для спецификации HMAC, можно прочитать “HMAC: keyed-hashing for message authentication, H. Krawczyk, M. Bellare, R. Canetti, February 1997.

По существу, алгоритм содержит две hash - операции:

pad

key

Concat

0x5C

concat

message

HASH HMAC Concat

HASH

0x36

Page 113: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

MD5 SHA1

Теоретическая HW 116.36 93.66

HW без DMA 55.25 51.20

HW с DMA 75.29 65.08

Программно 8.23 3.68

Производительность Mб/s при 120 MГц для

алгоритмов SHA-1 и MD5 с различной

реализацией

Производительность HASH

Page 114: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Ethernet MAC 10/100

Аналог STM32F1

Page 115: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Основные параметры

Поддержка 10/100 Mбит, режимы Half/Full-duplex

Физический интерфейс MII/RMII

Несколько опций для фильтрации адресов MAC

Проверка контрольной суммы IPv4 во время приема/передачи

Выделенный DMA с двумя FIFO (Rx/Tx) по 2Kб каждый Соединяется как AHB – мастер к матрице шин

Поддержка Ethernet Time Stamping - IEEE1588 version 2

Управление питанием: пробуждение по LAN по специальному фрейму

Управление счетчиками MAC для статистики

Обратная связь MII для целей отладки

Page 116: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Блок – диаграмма Ethernet

MMC: MAC Management Counters

PMT: Power Management

PTP: Precision Time Protocol

Media

Access Control

MAC 802.3

MAC Control

Registers

MMC PMT

PTP

IEEE1588

Checksum

Offload

RMII

interface

Select

MDC

MDIO

External PHY

Operation

Mode

Register

2KB

RX FIFO

2KB

TX FIFO

DMA

Control

Registers

Ethernet DMA

AH

B B

us

AH

B S

lave

In

terfa

ce

AH

B M

aste

r

In

terfa

ce

RMII: Reduced MII

MII: Media Independent Interface

MII

Bu

sM

atr

ix

SRAM 112K

Ext SRAM

SRAM 16K

Page 117: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Интерфейс физического уровня

Поддержка MII и RMII

Для RMII необходимо меньше ножек:

MII = 16 ножек (8 данные и 8 контроль)

RMII = 7 ножек (4 данные и 3 контроль)

80

2.3

MA

C

TXD[1:0]

TX_EN

RXD[1:0]

RX_ER

CRS_DV

MDC

MDIO

REF_CLK

External

PHY

PHY_CLK

TX _CLK

TXD[3:0]

TX_ER

TX_EN

RX _CLK

RXD[3:0]

RX_ER

RX_DV

CRS

COL

MDC

MDIO

External

PHY

80

2.3

MA

C

PHY_CLK

ST

M3

2F

2x

7

ST

M3

2F

2x

7

RMII mode MII mode

Page 118: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Подключение Ethernet (1/4)

Режим MII использует 25MГц кварц

MCU

Ethernet MAC 10/100

Ethernet PHY 10/100

PLL HCLK

XT1 PHY_CLK 25MHz

MII_RX_CLK

MII_RXD(3:0)

MII_RX_DV

MII_RX_ER

MII_TX_CLK

MII_TX_EN

MII_TXD(3:0)

MII_CRS

MII_COL

MDIO

MDC

HCLK*

*HCLK должно быть более 25MГц

PPS_OUT *

* Pulse Per Second для IEEE1588 PTP, опционально

XTAL 25MГц

STM32F2x7

OSC

TIM2 Time Stamp Comparator

Timer Input Trigger

IEEE1588 PTP

MII = 15 pins

MII+MDC = 17 pins

MCO

Page 119: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Подключение Ethernet (2/4)

RMII с 50MГц генератором

RMII_RXD(1:0)

RMII_CRS_DV

RMII_TX_EN

RMII_TXD(1:0)

MDIO

MDC

MCU Ethernet MAC 10/100

Ethernet PHY 10/100

HCLK *

/2 or /20 synchronous

2.5 or 25MHz 50MHz

RMII_REF_CLK

PLL HCLK OSC 50MГц

XT1 PHY_CLK 50MHz 50MHz

STM32F2x7

TIM2 Time Stamp Comparator

IEEE1588 PTP Timer Input Trigger

RMII = 7 pins

RMII+MDC = 9 pins

*HCLK должно быть более 25MГц

Page 120: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Подключение Ethernet (3/4)

RMII с одним 25MГц кварцем и модулем PHY с PLL

RMII_RXD(1:0)

RMII_CRS_DV

RMII_TX_EN

RMII_TXD(1:0)

MDIO

MDC

MCU Ethernet MAC 10/100

Ethernet PHY 10/100

HCLK *

/2 or /20 synchronous

2.5 or 25MHz 50MHz

RMII_REF_CLK

PLL HCLK

XT1 PHY_CLK

25MГц

50MHz

PLL

REF_CLK

XTAL 25MГц

STM32F2x7

OSC

TIM2 Time Stamp Comparator

IEEE1588 PTP Timer Input Trigger

RMII = 7 pins

RMII+MDC = 9 pins

MCO

*HCLK должно быть более 25MГц

Page 121: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Подключение Ethernet (4/4)

RMII с 25MГц кристаллом

RMII_RXD(1:0)

RMII_CRS_DV

RMII_TX_EN

RMII_TXD(1:0)

MDIO

MDC

RMII = 7 pins

MCU Ethernet MAC 10/100

HCLK*

50MHz

Ethernet PHY 10/100

RMII_REF_CLK

RMII+MDC = 9 pins

50MHz

PLL

NS DP83848 *

XT1/XT2

* NS DP83848 рекомендован для использования, т.к. входной джиттер сопоставим с выходным джиттером MCU

XTAL 25MГц

STM32F2x7

OSC

TIM2 Time Stamp Comparator

IEEE1588 PTP Timer Input Trigger

MCO /2

100MHz

*HCLK должно быть более 25MГц

Page 122: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Фильтрация MAC

Контроллер Ethernet может иметь до 4х MAC адресов:

1 адрес по умолчанию: MACAddr0

3 дополнительных адреса: MACAddr1, MACAddr2 и MACAddr3.

Дополнительные адресы могут быть:

Включены или отключены.

Использоваться источником или получателем для рассылки по

уникальному адресу, так и для широковещательной

Блок фильтрации MAC позволяет:

Принимать или блокировать широковещательные или иные фреймы

Принимать все входящие фреймы – мониторинг сети

Использовать Hash – таблицу фильтрации для широковещательной

или рассылки по уникальному адресу

Page 123: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Блок управления питанием

Блок управления питанием позволяет вводить Ethernet

контроллер в режим глубокой спячки (power down mode)

2 возможных опции пробуждения через прием:

AMD magic Packet

Wakeup frame

Событие пробуждения Ethernet соединено с линией EXTI_Line19

и может использоваться для вывода микроконтроллера из

режима STOP

Page 124: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

MAC management counters: MMC

MMC поддерживает статистику сети посредствам счетчиков:

Переданные безошибочные фреймы

Переданные безошибочные фреймы с более чем 1 коллизией

Переданные безошибочные фреймы с более 1 коллизией

Принятые безошибочные уникальные фреймы

Принятые фреймы с ошибкой выравнивания

Принятые фреймы с ошибочной CRC

Error

Good

Page 125: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

IEEE 1588 Precision Time Protocol

Протокол PTP используется для широковещательной рассылки по сети

точного времени для синхронизации системных часов с минимальными

ресурсами сети

Точность версии протокола PTP IEEE1588-2002 V1 в микросекундном

диапазоне

Улучшения в IEEE1588 V2:

Наносекундная точность

Более быстра синхронизация, сообщения SYNC

Более короткие сообщения PTP, обращение по уникальному

адресу, новые сообщения

«Прозрачные часы»

Обработка ошибок

Page 126: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

STM32 поддерживает IEEE1588: коррекция времени

MAC поддерживает 2 метода корректировки

системного времени:

«Грубый»: часы корректируются за один цикл

тактирования, это используется для корректировки

времени во время фазы инициализации

«Точный»: часы корректируются за период

времени после сложной синхронизации через

аппаратный алгоритм, это используется для

коррекции дрейфа частоты

Page 127: STM32L15x Ultra Low Power Technical Training · 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp

Спасибо