Серия STM32L5 с высокой степенью безопасности и низким энергопотреблением
“
Технические характеристики:
- Название продукта: RM0438 Справочное руководство
- Редакция: Версия 8
- Страницы: с 1 по 2187
- Дата выхода: июнь 2025 г.
- Производитель: www.st.com.
Информация о продукте:
Справочное руководство RM0438 содержит подробную информацию о
архитектура памяти и шины, архитектура безопасности TrustZone,
организация памяти, встроенная SRAM, флэш-память поверхview, ботинок
конфигурация и безопасность системы.
Инструкция по применению продукта:
Архитектура памяти и шины:
Архитектура системы включает в себя быструю C-шину, медленную C-шину, S-шину,
Шина DMA, шина DMA контроллера SDMMC и BusMatrix.
Архитектура безопасности TrustZone:
Объясняет состояние безопасности TrustZone по умолчанию и TrustZone
периферическая классификация.
Организация памяти:
Описывает карту памяти, граничные адреса регистров и
организация встроенной SRAM.
Встроенная SRAM:
Подробности SRAM2 проверка четности, защита от записи, защита от чтения,
операции стирания.
Флэш-память законченаview:
Обеспечивает болееview флэш-памяти, используемой в системе.
Конфигурация загрузки:
Описывает параметры конфигурации загрузки системы.
Безопасность системы:
Введение в меры безопасности системы.
Часто задаваемые вопросы (FAQ):
В: Где я могу найти информацию о сбросе регистра?
значения?
A: Значения сброса регистра подробно описаны в разделе 1.3
руководство.
В: Что такое архитектура безопасности TrustZone?
A: Архитектура безопасности TrustZone описана в разделе 2.2.
руководства.
В: Как настроить параметры загрузки?
A: Инструкции по настройке загрузки можно найти в разделе 3.
руководства.
«`
RM0438 Справочное руководство
Усовершенствованные 32-битные микроконтроллеры серии STM5L32 на базе Arm®
Введение
Данное справочное руководство предназначено для разработчиков приложений. Оно содержит полную информацию об использовании памяти и периферийных устройств микроконтроллеров STM32L552xx и STM32L562xx. STM32L552xx и STM32L562xx относятся к линейке микроконтроллеров STM32L5x2 с различными объёмами памяти, корпусами и периферийными устройствами. Информация для заказа, механические и электрические характеристики устройства представлены в соответствующих технических описаниях. Информация о ядре Arm® Cortex®-M33 представлена в техническом справочном руководстве Cortex®-M33. Микропроцессоры STM32L552xx и STM32L562xx используют передовые запатентованные технологии ST.
Связанные документы
· Техническое справочное руководство Cortex®-M33 доступно по адресу http://infocenter.arm.com · Технические описания STM32L552xx и STM32L562xx · Листы с ошибками STM32L552xx и STM32L562xx
Июнь 2025 г.
RM0438 Версия 8
1/2187
www.st.com
1
Содержание
Содержание
RM0438
1
Соглашения о документации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.1 Общая информация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.2 Список сокращений для регистров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.3 Значение сброса регистра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.4 Глоссарий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.5 Наличие периферийных устройств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2
Архитектура памяти и шины . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.1 Архитектура системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.1.1 Быстрая шина C . ...
2.1.2 Медленная шина C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.1.3 S-шина . ...
2.1.4 Шина DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.1.5 Шина DMA контроллера SDMMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.1.6 BusMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.2 Архитектура безопасности TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.2.1 Состояние безопасности TrustZone по умолчанию . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.2.2 Классификация периферийных устройств TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.3 Организация памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.3.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.3.2 Карта памяти и граничные адреса регистров . . . . . . . . . . . . . . . . . . . . . . . . 87
2.4 Встроенная статическая оперативная память (SRAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.4.1 Проверка четности SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.4.2 Защита от записи SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.4.3 Защита от чтения SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.4.4 Стирание SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.5 Флэш-память болееview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3
Конфигурация загрузки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4
Безопасность системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.2 Ключевые функции безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2/2187
RM0438 Версия 8
RM0438
Содержание
4.3 4.4 4.5 4.6
4.7 4.8
4.9 4.10 4.11 4.12 4.13
Безопасная установка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Безопасная загрузка . ...
4.4.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.4.2 Уникальная загрузочная запись и BOOT_LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.4.3 Неизменяемый корень доверия в системной флэш-памяти . . . . . . . . . . . . . . . . 102
Безопасное обновление . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Изоляция ресурсов с помощью TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.6.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.2 Архитектура безопасности TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.3 Расширение безопасности Armv8-M для Cortex-M33 . . . . . . . . . . . . . . . . . . . . . . . 104 4.6.4 Распределение памяти и периферийных устройств с помощью IDAU/SAU . . . . . . . . . . . . . . . 104 4.6.5 Распределение памяти и периферийных устройств с помощью GTZC . . . . . . . . . . . . . . . . . . . . . 106 4.6.6 Управление безопасностью периферийных устройств, поддерживающих TrustZone . . . . . . . . . . . . . . . . 109 4.6.7 Активация безопасности TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.6.8 Отключение безопасности TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Другие виды изоляции ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
4.7.1 Временная изоляция с использованием надежной защиты укрытия (HDP) . . . . . . . . . . . . . 117
Безопасное исполнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
4.8.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.2 Устройство защиты памяти (MPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.3 Защита от записи встроенной флэш-памяти . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.4 Тampобнаружение и реагирование на er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Безопасное хранение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.9.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.9.2 Уникальный идентификатор . ...
Криптодвижки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.10.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.2 Функции криптографических механизмов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.3 Механизм дешифрования «на лету» (OTFDEC) . . . . . . . . . . . . . . . . . . . . . . 122
Жизненный цикл продукта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.11.1 Управление жизненным циклом с защитой считывания (RDP) . . . . . . . . . . . . . 124 4.11.2 Рекомендуемые настройки байтов опций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Отладка с контролируемым доступом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.12.1 Защита от отладки с защитой считывания (RDP) . . . . . . . . . . . . . . . . . . 125
Защита интеллектуальной собственности программного обеспечения и совместная разработка 126
RM0438 Версия 8
3/2187
54
Содержание
RM0438
4.13.1
4.13.2 4.13.3
Защита интеллектуальной собственности программного обеспечения с защитой считывания (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Защита интеллектуальной собственности программного обеспечения с помощью OTFDEC . . . . . . . . . . . . 127
Другие меры защиты интеллектуальной собственности в сфере программного обеспечения . . . . . . . . . . . . . . . . . . 129
5
Глобальный контроллер TrustZone® (GTZC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.1 Введение в GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.2 Основные характеристики GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.2.1 Архитектура системы GTZC TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.3 Функциональное описание GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.3.1 Блок-схема GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.3.2 Определение незаконного доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.3.3 Контроллер безопасности TrustZone (TZSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.3.4 Контроллер защиты памяти – блочный (MPCBB) . . . . . . . . . . . . . . 134
5.3.5 Контроллер несанкционированного доступа TrustZone (TZIC) . . . . . . . . . . . . . . . . . . . . . . . . 135
5.3.6 Состояние включения/сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.3.7 Запросы DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.4 События GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.5 Регистры GTZC_TZSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.5.1 Регистр управления GTZC_TZSC (GTZC_TZSC_CR) . . . . . . . . . . . . . . . . . 136
5.5.2
GTZC_TZSC регистр безопасной конфигурации 1 (GTZC_TZSC_SECCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.5.3
GTZC_TZSC регистр безопасной конфигурации 2 (GTZC_TZSC_SECCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.5.4
Регистр конфигурации привилегий GTZC_TZSC 1 (GTZC_TZSC_PRIVCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.5.5
Регистр конфигурации привилегий GTZC_TZSC 2 (GTZC_TZSC_PRIVCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.5.6
GTZC_TZSC внешняя память x незащищенный регистр водяных знаков 1 (GTZC_TZSC_MPCWMxANSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.5.7
GTZC_TZSC внешняя память x незащищенный регистр водяных знаков 2 (GTZC_TZSC_MPCWMxBNSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.5.8 Карта регистра GTZC_TZSC и сброс значений . . . . . . . . . . . . . . . . . . . . . . 148
5.6 Регистры GTZC_MPCBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.6.1 Регистр управления GTZC_MPCBBx (GTZC_MPCBBx_CR) (x = от 1 до 2) . 150
5.6.2 Регистр блокировки GTZC_MPCBB1 1 (GTZC_MPCBB1_LCKVTR1) . . . . . . 151
5.6.3
GTZC_MPCBB2 регистр блокировки 1 (GTZC_MPCBB2_LCKVTR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4/2187
RM0438 Версия 8
RM0438
Содержание
5.6.4
GTZC_MPCBBx векторный регистр y (GTZC_MPCBBx_VCTRy) (x = от 1 до 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.6.5 GTZC_MPCBB1 регистровая карта и сброс значений . . . . . . . . . . . . . . . . . . . 153
5.6.6 GTZC_MPCBB2 регистровая карта и сброс значений . . . . . . . . . . . . . . . . . . . 153
5.7 Регистры GTZC_TZIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.7.1 Регистр разрешения прерываний GTZC_TZIC 1 (GTZC_TZIC_IER1) . . . . . . . 154
5.7.2 Регистр разрешения прерываний GTZC_TZIC 2 (GTZC_TZIC_IER2) . . . . . . . 157
5.7.3 Регистр разрешения прерываний GTZC_TZIC 3 (GTZC_TZIC_IER3) . . . . . . . 159
5.7.4 Регистр состояния GTZC_TZIC 1 (GTZC_TZIC_SR1) . . . . . . . . . . . . . . . . 160
5.7.5 Регистр состояния GTZC_TZIC 2 (GTZC_TZIC_SR2) . . . . . . . . . . . . . . . . 163
5.7.6 Регистр состояния GTZC_TZIC 3 (GTZC_TZIC_SR3) . . . . . . . . . . . . . . . . 165
5.7.7 Регистр очистки флага GTZC_TZIC 1 (GTZC_TZIC_FCR1) . . . . . . . . . . . . 166
5.7.8 Регистр очистки флага GTZC_TZIC 2 (GTZC_TZIC_FCR2) . . . . . . . . . . . . 169
5.7.9 Регистр очистки флага GTZC_TZIC 3 (GTZC_TZIC_FCR3) . . . . . . . . . . . . 171
5.7.10 Карта регистра GTZC_TZIC и сброс значений . . . . . . . . . . . . . . . . . . . . . . . 172
6
Встроенная флэш-память (FLASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.2 Основные возможности FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.3 Функциональное описание флэш-памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.3.1 Организация флэш-памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.3.2 Исправление кода ошибки (ECC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.3.3 Задержка доступа к чтению . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.3.4 Низкий объемtagе читать . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.3.5 Операции прошивки и стирания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.3.6 Последовательности стирания основной флэш-памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.3.7 Последовательности программирования основной флэш-памяти . . . . . . . . . . . . . . . . . . . . . 185
6.3.8 Флаги ошибок флэш-памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
6.3.9
Чтение во время записи (RWW) доступно только в двухбанковом режиме (DBANK = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
6.4 Байты параметров флэш-памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.1 Описание байтов опций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.2 Программирование байтов опций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.5 Безопасность и защита привилегий Flash TrustZone . . . . . . . . . . . . . . . . . . . . 193
6.5.1 Защита безопасности TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.5.2 Надежная защита области с помощью водяных знаков . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.5.3 Надежная защита укрытия (HDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
RM0438 Версия 8
5/2187
54
Содержание
RM0438
6.5.4 Защита защищенной блочной области (SECBB) . . . . . . . . . . . . . . . . . . . . 196 6.5.5 Принудительная загрузка с защищенного адреса памяти . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.5.6 Состояние атрибутов безопасности флэш-памяти . ...
6.6 Безопасная системная память . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.6.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.2 RSS выделяет ресурсы загрузчику . ... . . . . . . . . . . . 198
6.7 Защита флэш-памяти . ...
6.7.1 Защита от записи (WRP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 6.7.2 Защита от считывания (RDP) . ...
6.8 Прерывания FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 6.9 Регистры FLASH . ...
6.9.1 Регистр управления доступом к флэш-памяти (FLASH_ACR) . . . . . . . . . . . . . . . . . . . . . . 213 6.9.2 Регистр ключа отключения питания флэш-памяти (FLASH_PDKEYR) . . . . . . . . . . . . . . . . 214 6.9.3 Регистр незащищенного ключа флэш-памяти (FLASH_NSKEYR) . . . . . . . . . . . . . . . . . . 215 6.9.4 Регистр защищенного ключа флэш-памяти (FLASH_SECKEYR) . . . . . . . . . . . . . . . 215 6.9.5 Регистр ключа опции вспышки (FLASH_OPTKEYR) . . . . . . . . . . . . . . . . . . . . . . 216 6.9.6 Низкий уровень вспышкиtagРегистр ключа e (FLASH_LVEKEYR) . . . . . . . . . . . . . . . 216 6.9.7 Регистр состояния флэш-памяти (FLASH_NSSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 6.9.8 Регистр состояния флэш-памяти (FLASH_SECSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 6.9.9 Регистр незащищенного управления флэш-памятью (FLASH_NSCR) . . . . . . . . . . . . . 220 6.9.10 Регистр управления безопасностью Flash (FLASH_SECCR) . . . . . . . . . . . . . . . . . . . . . 222 6.9.11 Регистр ECC Flash (FLASH_ECCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 6.9.12 Регистр опций Flash (FLASH_OPTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.9.13 Регистр адреса 0 незащищенной загрузки Flash (FLASH_NSBOOTADD0R) 227 6.9.14 Регистр адреса 1 незащищенной загрузки Flash (FLASH_NSBOOTADD1R) 228 6.9.15 Регистр адреса 0 защищенной загрузки Flash (FLASH_SECBOOTADD0R) . . 228 6.9.16 Регистр защищенной watermak1 банка Flash 1 (FLASH_SECWM1R1) . . . . 229 6.9.17 Регистр защищенной watermak1 Flash 2 (FLASH_SECWM1R2) . . . . . . . . 230 6.9.18 Регистр адреса A области Flash WPR1 (FLASH_WRP1AR) . . . . . . . . 231 6.9.19 Регистр адреса области B Flash WPR1 (FLASH_WRP1BR) . . . . . . . . . 232 6.9.20 Регистр защищенной памяти Watermak2 Flash (FLASH_SECWM2R1) . . . . . . . . . . 233 6.9.21 Регистр защищенной памяти Watermak2 Flash 2 (FLASH_SECWM2R2) . . . . . . . . 234 6.9.22 Регистр адреса области A Flash WPR2 (FLASH_WRP2AR) . . . . . . . . 235 6.9.23 Регистр адреса области B Flash WPR2 (FLASH_WRP2BR) . . . . . . . . 236
6/2187
RM0438 Версия 8
RM0438
Содержание
6.9.24
6.9.25
6.9.26 6.9.27 6.9.28
Регистр банка 1 на основе защищенного блока FLASH (FLASH_SECBB1Rx) (где x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Регистр банка 2 на основе защищенного блока FLASH (FLASH_SECBB2Rx) (где x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Регистр управления защищенной HDP-памятью FLASH (FLASH_SECHDPCR) . . . . . . . . 238
Регистр конфигурации привилегий FLASH (FLASH_PRIVCFGR) . . . . . . . . 238
Карта регистра FLASH и сброс значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
7
Кэш инструкций (ICACHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.1 Введение в ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.2 Основные характеристики ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.3 Реализация ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4 Функциональное описание ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4.1 Блок-схема ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.2 Сброс ICACHE и часы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.3 КЭШ TAG память . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.4.4 Прямое отображение ICACHE (односторонний кэш) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
7.4.5 Включение ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
7.4.6 Кэшируемый и некэшируемый трафик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
7.4.7 Переназначение адресов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
7.4.8 Кэшируемые доступы . ...
7.4.9 Двойной главный кэш . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.10 Безопасность ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.11 Обслуживание ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.12 Мониторинг производительности ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.4.13 Загрузка ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.5 Режимы пониженного энергопотребления ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.6 Управление ошибками и прерываниями ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.7 Регистры ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.7.1 Регистр управления ICACHE (ICACHE_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.7.2 Регистр состояния ICACHE (ICACHE_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
7.7.3 Регистр разрешения прерываний ICACHE (ICACHE_IER) . . . . . . . . . . . . . . . . . . . 255
7.7.4 Регистр очистки флага ICACHE (ICACHE_FCR) . . . . . . . . . . . . . . . . . . . . . . . 255
7.7.5 Регистр монитора попаданий ICACHE (ICACHE_HMONR) . . . . . . . . . . . . . . . . . . . 256
7.7.6 Регистр контроля пропусков ICACHE (ICACHE_MMONR) . . . . . . . . . . . . . . . . 256
7.7.7 Регистр конфигурации региона X ICACHE (ICACHE_CRRx) . . . . . . . . . . 256
7.7.8 Карта регистров ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
RM0438 Версия 8
7/2187
54
Содержание
RM0438
8
Управление мощностью (PWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.1 Источники питания и области питания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.1.1 Независимая аналоговая периферия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.1.2 Независимая шина питания ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.1.3 Питание независимых USB-приёмопередатчиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.1.4 Домен резервного питания от аккумулятора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.2 Объем поставки системыtagэлектронное регулирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.2.1 томаtagрегулятор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.2.2 Встроенный понижающий преобразователь SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.2.3 Схема питания понижающего преобразователя SMPS . ...
8.2.4 Понижающий преобразователь SMPS в сравнении с режимом пониженного энергопотребления . . . . . . . . . . . . . . . 269
8.2.5 Динамическая громкостьtagуправление масштабированием . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
8.2.6 Домен VDD12 и внешний SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
8.3 Контроль электропитания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
8.3.1
Сброс при включении питания (POR) / сброс при отключении питания (PDR) / сброс при пониженном напряжении питания (BOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
8.3.2 Программируемая громкостьtagэлектронный детектор (PVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
8.3.3 Периферийный томtagЭлектронный мониторинг (ПВМ). . . . . . . . . . . . . . . . . . . . . . . . . . 275
8.3.4 Верхний томtagмониторинг порога . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
8.3.5 Контроль порогового значения температуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
8.4 Управление питанием . ...
8.4.1 Режимы мощности . ...
8.4.2 Режим работы . ...
8.4.3 Режим работы с низким энергопотреблением (режим работы с низким энергопотреблением) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
8.4.4 Режимы пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
8.4.5 Спящий режим . ...
8.4.6 Режим энергосбережения (LP-сон) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
8.4.7 Режим остановки 0 . ...
8.4.8 Режим остановки 1 . ...
8.4.9 Режим остановки 2 . ...
8.4.10 Режим ожидания . ...
8.4.11 Режим выключения . ...
8.4.12 Автоматическое пробуждение из режима пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.5 Безопасность PWR TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.5.1 Привилегированные и непривилегированные режимы PWR . ...
8.6 Регистры PWR . ...
8/2187
RM0438 Версия 8
RM0438
Содержание
8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.6.6 8.6.7 8.6.8 8.6.9 8.6.10 8.6.11 8.6.12 8.6.13 8.6.14 8.6.15 8.6.16 8.6.17 8.6.18 8.6.19 8.6.20 8.6.21 8.6.22 8.6.23 8.6.24 8.6.25 8.6.26
Регистр управления питанием 1 (PWR_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Регистр управления питанием 2 (PWR_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Регистр управления питанием 3 (PWR_CR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Регистр управления питанием 4 (PWR_CR4) . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Регистр состояния питания 1 (PWR_SR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Регистр состояния питания 2 (PWR_SR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Регистр очистки состояния питания (PWR_SCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Регистр управления подтяжкой порта питания A (PWR_PUCRA) . . . . . . . . . . . . . . 308 Регистр управления подтягиванием порта питания A (PWR_PDCRA) . . . . . . . . . . 308 Регистр управления подтягиванием порта питания B (PWR_PUCRB) . . . . . . . . . . . . . 309 Регистр управления подтягиванием порта питания B (PWR_PDCRB) . . . . . . . . . . . 310 Регистр управления подтягиванием порта питания C (PWR_PUCRC) . . . . . . . . . . 310 Регистр управления подтягиванием порта питания C (PWR_PDCRC) . . . . . . . . . 311 Регистр управления подтяжкой порта питания D (PWR_PUCRD) . . . . . . . . . . . . . 311 Регистр управления опусканием порта питания D (PWR_PDCRD) . . . . . . . . . . . 312 Регистр управления подтяжкой порта питания E (PWR_PUCRE) . . . . . . . . . . . . 313 Регистр управления опусканием порта питания E (PWR_PDCRE) . . . . . . . . . . 313 Регистр управления подтяжкой порта питания F (PWR_PUCRF) . . . . . . . . . . . 314 Регистр управления опусканием порта питания F (PWR_PDCRF) . . . . . . . . . . 314 Регистр управления подтяжкой порта питания G (PWR_PUCRG) . . . . . . . . . . . . 315 Регистр управления опусканием порта питания G (PWR_PDCRG) . . . . . . . . . . . 316 Регистр управления подтяжкой порта питания H (PWR_PUCRH) . . . . . . . . . . . 316 Регистр управления опусканием порта питания H (PWR_PDCRH) . . . . . . . . . . 317 Регистр безопасной конфигурации питания (PWR_SECCFGR) . . . . . . . . . 317 Регистр конфигурации привилегий питания (PWR_PRIVCFGR) . . . . . . . . . . 319 Карта регистра PWR и значения сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
9
Сброс и управление часами (RCC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1 Сброс . ...323
9.1.1 Сброс питания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.2 Сброс системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.3 Сброс резервного домена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.2 Контакты RCC и внутренние сигналы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.3 Часы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.3.1 Часы HSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
9.3.2 Часы HSI16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
9.3.3 Частота MSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
RM0438 Версия 8
9/2187
54
Содержание
RM0438
9.3.4 Тактовый сигнал HSI48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.5 ФАПЧ . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.6 Системные часы LSE . ... . . . . . . . . . . . . . . . . . . . . . 333 9.3.7 Выбор системного тактового сигнала (SYSCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.3.8 Частота источника тактового сигнала в зависимости от громкостиtagмасштабирование . . . . . . . . . . . . . . . . . . . . 335 9.3.11 Система безопасности синхронизации (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.12 Система безопасности синхронизации на LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.13 Тактовая частота АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.14 Часы RTC . ... . . . . . . . . . . . . . . . . 336 9.3.15 Часы-сторож . ... 336 9.3.16 Измерение внутренней/внешней частоты с помощью TIM337/TIM9.3.17/TIM337 . . . . . 9.3.18 15 Регистры разрешения периферийной частоты
(RCC_AHBxENR, RCC_APBxENRy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
9.4 Режимы низкого энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 9.5 Безопасность RCC TrustZone® . ... . . . 341 9.6 Прерывания RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7 Регистры RCC . ...
9.8.1 Регистр управления тактовой частотой RCC (RCC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 9.8.2 Регистр калибровки внутренних источников тактовой частоты RCC (RCC_ICSCR) . . . . . . . 348 9.8.3 Регистр конфигурации тактовой частоты RCC (RCC_CFGR) . . . . . . . . . . . . . . . . . . . . . 349 9.8.4 Регистр конфигурации ФАПЧ RCC (RCC_PLLCFGR) . . . . . . . . . . . . . . 352 9.8.5 Регистр конфигурации RCC PLLSAI1 (RCC_PLLSAI1CFGR) . . . . . . . . 355 9.8.6 Регистр конфигурации RCC PLLSAI2 (RCC_PLLSAI2CFGR) . . . . . . . . 358 9.8.7 Регистр разрешения прерывания тактовой частоты RCC (RCC_CIER) . . . . . . . . . . . . . . . . . . . 360 9.8.8 Регистр флага прерывания тактовой частоты RCC (RCC_CIFR) . . . . . . . . . . . . . . . . . . . . . . 361 9.8.9 Регистр очистки прерывания тактовой частоты RCC (RCC_CICR) . . . . . . . . . . . . . . . . 363 9.8.10 Регистр сброса периферийного устройства RCC AHB1 (RCC_AHB1RSTR) . . . . . . . . . . 364 9.8.11 Регистр сброса периферийного устройства RCC AHB2 (RCC_AHB2RSTR) . . . . . . . . . . 365 9.8.12 Регистр сброса периферийного устройства RCC AHB3 (RCC_AHB3RSTR) . . . . . . . . . . 367 9.8.13 Регистр сброса периферийного устройства RCC APB1 1 (RCC_APB1RSTR1) . . . . . . . 368 9.8.14 Регистр сброса периферийного устройства RCC APB1 2 (RCC_APB1RSTR2) . . . . . . . . . 370 9.8.15 Регистр сброса периферийного устройства RCC APB2 (RCC_APB2RSTR) . . . . . . . . . . 371
10/2187
RM0438 Версия 8
RM0438
Содержание
9.8.16 9.8.17 9.8.18 9.8.19 9.8.20 9.8.21 9.8.22
9.8.23
9.8.24
9.8.25
9.8.26
9.8.27
9.8.28
9.8.29 9.8.30 9.8.31 9.8.32
9.8.33 9.8.34 9.8.35 9.8.36 9.8.37 9.8.38 9.8.39 9.8.40 9.8.41 9.8.42
Регистр включения периферийных часов RCC AHB1 (RCC_AHB1ENR) . . . . . 373 Регистр включения периферийных часов RCC AHB2 (RCC_AHB2ENR) . . . . . 374 Регистр включения периферийных часов RCC AHB3 (RCC_AHB3ENR) . . . . . 376
Регистр включения периферийных часов RCC APB1 1 (RCC_APB1ENR1) . . . 377 Регистр включения периферийных часов RCC APB1 2 (RCC_APB1ENR2) . . . 379
Регистр включения периферийных тактов RCC APB2 (RCC_APB2ENR) . . . . . 381 Регистр включения периферийных тактов RCC AHB1 в режимах сна и остановки (RCC_AHB1SMENR) . ... 382
Регистр включения периферийных тактовых импульсов RCC AHB3 в режимах сна и остановки (RCC_AHB3SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Регистр включения периферийных тактовых импульсов RCC APB1 в режимах сна и остановки регистр 1 (RCC_APB1SMENR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Регистр включения периферийных тактовых импульсов RCC APB1 в режимах сна и остановки регистр 2 (RCC_APB1SMENR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Регистр включения периферийных часов RCC APB2 в режимах сна и останова (RCC_APB2SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Регистр конфигурации независимых часов периферийных устройств RCC 1 (RCC_CCIPR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Регистр управления резервным доменом RCC (RCC_BDCR) . . . . . . . . . . . . . 395
Регистр управления/состояния RCC (RCC_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Регистр RC восстановления тактовой частоты RCC (RCC_CRRCR) . . . . . . . . . . . . . . . . . 400 Регистр 2 конфигурации независимых тактов периферийных устройств RCC (RCC_CCIPR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Регистр конфигурации задержки OCTOSPI (RCC_DLYCFGR) . . . . . . . . . . 402 Регистр безопасной конфигурации RCC (RCC_SECCFGR) . . . . . . . . . . . . . 403 Регистр безопасного состояния RCC (RCC_SECSR) . . . . . . . . . . . . . . . . . . . . . . 405
Регистр состояния безопасности RCC AHB1 (RCC_AHB1SECSR) . . . . . . . . . . . 407 Регистр состояния безопасности RCC AHB2 (RCC_AHB2SECSR) . . . . . . . . . . 408 Регистр состояния безопасности RCC AHB3 (RCC_AHB3SECSR) . . . . . . . . . 410
Регистр состояния безопасности RCC APB1 1 (RCC_APB1SECSR1) . . . . . . . 411 Регистр состояния безопасности RCC APB1 2 (RCC_APB1SECSR2) . . . . . . . 414 Регистр состояния безопасности RCC APB2 (RCC_APB2SECSR) . . . . . . . . . 415
Карта регистра RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
10
Система восстановления часов (CRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.1 Введение в CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.2 Основные характеристики CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
RM0438 Версия 8
11/2187
54
Содержание
RM0438
10.3 10.4
10.5 10.6 10.7
Реализация CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Функциональное описание CRS . ...
10.4.1 Структурная схема CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.2 Внутренние сигналы CRS . ... 425 10.4.3 Измерение погрешности частоты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 10.4.4 Оценка погрешности частоты и автоматическая подстройка . . . . . . . . . . . . . . . 426 10.4.5 Инициализация и конфигурация CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
CRS в режимах пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Прерывания CRS . ... . . . . . . . . . . . . . . . . 429
10.7.1 Регистр управления CRS (CRS_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 10.7.2 Регистр конфигурации CRS (CRS_CFGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 10.7.3 Регистр прерываний и состояний CRS (CRS_ISR) . . . . . . . . . . . . . . . . . . . . . 431 10.7.4 Регистр очистки флага прерывания CRS (CRS_ICR) . . . . . . . . . . . . . . . . . . . 433 10.7.5 Карта регистров CRS . ...
11
Универсальные вводы-выводы (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.2 Основные характеристики GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.3 Функциональное описание GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.3.1 Ввод-вывод общего назначения (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
11.3.2 Мультиплексор и сопоставление альтернативных функций выводов ввода-вывода . . . . . . . . . . . . . . . . . 438
11.3.3 Регистры управления портами ввода-вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.4 Регистры данных порта ввода-вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.5 Побитовая обработка данных ввода-вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.6 Механизм блокировки GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.7 Альтернативная функция ввода/вывода ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.8 Внешние линии прерывания/пробуждения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.9 Конфигурация входов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
11.3.10 Конфигурация выходов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
11.3.11 Альтернативная конфигурация функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
11.3.12 Аналоговая конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
11.3.13 Использование выводов генератора HSE или LSE в качестве GPIO . . . . . . . . . . . . . . . . . . . . . . . 443
11.3.14 Использование выводов GPIO в области питания RTC . . . . . . . . . . . . . . . . . . . . . 443
11.3.15 Использование PH3 в качестве GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
12/2187
RM0438 Версия 8
RM0438
Содержание
11.4 11.5 11.6
Безопасность TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Привилегированные и непривилегированные режимы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Регистры GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.1 Регистр режима порта GPIO (GPIOx_MODER) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.2 Регистр типа выхода порта GPIO (GPIOx_OTYPER) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.3 Регистр выходной скорости порта GPIO (GPIOx_OSPEEDR) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.4 Регистр подтягивания/опускания порта GPIO (GPIOx_PUPDR) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.5 Регистр входных данных порта GPIO (GPIOx_IDR) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.6 Регистр выходных данных порта GPIO (GPIOx_ODR) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.7 Регистр установки/сброса бита порта GPIO (GPIOx_BSRR) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.8 Регистр блокировки конфигурации порта GPIO (GPIOx_LCKR) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
11.6.9 Нижний регистр альтернативной функции GPIO (GPIOx_AFRL) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
11.6.10 Альтернативная функция GPIO верхнего регистра (GPIOx_AFRH) (x = от A до H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
11.6.11 Регистр сброса бита порта GPIO (GPIOx_BRR) (x = от A до H) . . . . . . . . . . . . . 452
11.6.12 Регистр безопасной конфигурации GPIO (GPIOx_SECCFGR) (x = от A до H) . 452
11.6.13 Карта регистров GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
12
Контроллер конфигурации системы (SYSCFG) . . . . . . . . . . . . . . . . . . . . . . . 456
12.1 Основные возможности SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
12.2 Безопасность и привилегии SYSCFG TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
12.3 Регистры SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
12.3.1 Регистр безопасной конфигурации SYSCFG (SYSCFG_SECCFGR) . . . . . 458
12.3.2 Регистр конфигурации SYSCFG 1 (SYSCFG_CFGR1) . . . . . . . . . . . . . 459
12.3.3 Регистр маски прерываний FPU (SYSCFG_FPUIMR) . . . . . . . . . . . . . . . . . . 461
12.3.4 Регистр незащищенной блокировки процессора SYSCFG (SYSCFG_CNSLCKR) . . . . . 461
12.3.5 Регистр безопасной блокировки процессора SYSCFG (SYSCFG_CSLOCKR) . . . . . . . . . 462
12.3.6 Регистр конфигурации SYSCFG 2 (SYSCFG_CFGR2) . . . . . . . . . . . . . 463
12.3.7 Регистр управления и состояния SYSCFG SRAM2 (SYSCFG_SCSR) . . . . 464
12.3.8 Регистр ключей SYSCFG SRAM2 (SYSCFG_SKR) . . . . . . . . . . . . . . . . . . . 465
RM0438 Версия 8
13/2187
54
Содержание
RM0438
12.3.9 Регистр защиты записи SYSCFG SRAM2 (SYSCFG_SWPR) . . . . . . 465 12.3.10 Регистр защиты записи 2 SYSCFG SRAM2 (SYSCFG_SWPR2) . . . 466 12.3.11 Регистр команд RSS SYSCFG (SYSCFG_RSSCMDR) . . . . . . . . . . . . 466 12.3.12 Карта регистров SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
13
Матрица межсоединений периферийных устройств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.2 Сводка по подключению . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.3 Подробности взаимосвязей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
13.3.1 От таймера (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15/TIM16/TIM17) к таймеру (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15) . . . . . . . . . . . . . . . . . . 470
13.3.2 От таймера (TIM1/TIM2/TIM3/TIM4/TIM6/TIM8/TIM15) и EXTI к АЦП (ADC1/ADC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
13.3.3 От АЦП1/АЦП2 к таймеру (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
13.3.4 От таймера (TIM2/TIM4/TIM5/TIM6/TIM7/TIM8) и EXTI к ЦАП (DAC1/DAC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
13.3.5 От таймера (TIM1/TIM3/TIM4/TIM6/TIM7/TIM8/TIM16/LPTIM1) и EXTI к DFSDM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
13.3.6 От DFSDM1 к таймеру (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . 473
13.3.7 От HSE, LSE, LSI, MSI, MCO, RTC к таймеру (TIM2/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
13.3.8 От RTC, COMP1, COMP2 к маломощному таймеру (LPTIM1/LPTIM2/LPTIM3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.9 От таймера (TIM1/TIM2/TIM3/TIM8/TIM15) к компараторам (COMP1/COMP2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.10 От АЦП (АЦП1) к АЦП (АЦП2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.11 От USB к таймеру (TIM2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
13.3.12 От внутреннего аналогового источника к АЦП (АЦП1/АЦП2) и ОПAMP (ОПAMP1/ОПАМ2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
13.3.13 От компараторов (COMP1/COMP2) к таймерам (TIM1/TIM2/TIM3/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . . . . 475
13.3.14 От системных ошибок до таймеров (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . 476
13.3.15 От таймеров (TIM16/TIM17) к IRTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
13.3.16 От АЦП (АЦП1/АЦП2) до DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
14
Контроллер прямого доступа к памяти (DMA) . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
14.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
14.2 Основные характеристики DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
14.3 Реализация DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
14/2187
RM0438 Версия 8
RM0438
Содержание
14.4
14.5 14.6
14.3.1 DMA1 и DMA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 14.3.2 Отображение запросов DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Функциональное описание DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
14.4.1 Блок-схема DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 14.4.2 Выводы DMA и внутренние сигналы . ... . . . . . . . . . . . . . 481 14.4.3 Арбитраж DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.4 Каналы DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 14.4.5 Ширина, выравнивание и порядок байтов данных DMA . . . . . . . . . . . . . . . . . . . . . . . . . . 483 14.4.6 Управление ошибками DMA . ...
Прерывания DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Регистры DMA . ...
14.6.1 Регистр состояния прерывания DMA (DMA_ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 14.6.2 Регистр очистки флага прерывания DMA (DMA_IFCR) . . . . . . . . . . . . . . . . . . . . 494 14.6.3 Регистр конфигурации канала DMA x (DMA_CCRx) . . . . . . . . . . . . . . . 495 14.6.4 Регистр количества данных для передачи канала DMA x (DMA_CNDTRx) . 500 14.6.5 Регистр периферийного адреса канала DMA x (DMA_CPARx) . . . . . . 501 14.6.6 Регистр адреса памяти 0 канала DMA x (DMA_CM0ARx) . . . . . . . 501 14.6.7 Регистр адреса памяти 1 канала DMA x (DMA_CM1ARx) . . . . . . . . 502 14.6.8 Карта регистров DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
15
Мультиплексор запросов DMA (DMAMUX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
15.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
15.2 Основные возможности DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3 Реализация DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3.1 Создание экземпляра DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3.2 Отображение DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
15.4 Описание функций DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511
15.4.1 Блок-схема DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
15.4.2 Сигналы DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
15.4.3 Каналы DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
15.4.4 Безопасные/небезопасные каналы DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
15.4.5 Привилегированные/непривилегированные каналы DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . 513
15.4.6 Мультиплексор линии запроса DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
15.4.7 Генератор запросов DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
15.5 Прерывания DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
RM0438 Версия 8
15/2187
54
Содержание
RM0438
15.6
Регистры DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.1 Регистр конфигурации канала x мультиплексора линии запроса DMAMUX (DMAMUX_CxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.2 Регистр состояния канала прерывания мультиплексора запроса DMAMUX (DMAMUX_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.3 Регистр флага очистки канала прерывания мультиплексора запроса DMAMUX (DMAMUX_CCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.4 Регистр конфигурации канала x генератора запросов DMAMUX (DMAMUX_RGxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
15.6.5 Регистр состояния прерывания генератора запросов DMAMUX (DMAMUX_RGSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
15.6.6 Регистр флага очистки прерывания генератора запросов DMAMUX (DMAMUX_RGCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
15.6.7 Карта регистров DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
16
Вложенный векторный контроллер прерываний (NVIC) . . . . . . . . . . . . . . . . . . . . . . 528
16.1 Основные характеристики NVIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
16.2 Регистр значений калибровки SysTick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
16.3 Векторы прерываний и исключений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
17
Расширенный контроллер прерываний и событий (EXTI) . . . . . . . . . . . . . . . . . . . 533
17.1 Основные возможности EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
17.2 Блок-схема EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
17.2.1 EXTI-соединения между периферийными устройствами и ЦП . . . . . . . . . . . . . . . . . . 535
17.2.2 Отображение прерываний/событий EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
17.3 Функциональное описание EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
17.3.1 Активация настраиваемого входа событий EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
17.3.2 Пробуждение по прямому входу события EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
17.3.3 Выбор мультиплексора EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
17.4 Функциональное поведение EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
17.5 Защита от событий EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
17.5.1 Защита безопасности EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
17.5.2 Защита привилегий EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
17.6 Регистры EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
17.6.1 17.6.2 17.6.3 17.6.4
Регистр выбора восходящего триггера EXTI (EXTI_RTSR1). . . . . . . . . . . . . . 543 Регистр выбора триггера падения EXTI (EXTI_FTSR1). . . . . . . . . . . . . 544 Регистр событий программного прерывания EXTI (EXTI_SWIER1). . . . . . . . . . . 545 Регистр ожидания нарастающего фронта EXTI (EXTI_RPR1) . . . . . . . . . . . . . . . . 546
16/2187
RM0438 Версия 8
RM0438
Содержание
17.6.5 Регистр ожидания спадающего фронта EXTI (EXTI_FPR1) . . . . . . . . . . . . . . . . 547 17.6.6 Регистр конфигурации безопасности EXTI (EXTI_SECCFGR1) . . . . . . . . . . 548 17.6.7 Регистр конфигурации привилегий EXTI (EXTI_PRIVCFGR1). . . . . . . . . 549 17.6.8 Регистр выбора триггера по возрастанию EXTI (EXTI_RTSR2) . . . . . . . . . . . . . . 549 17.6.9 Регистр выбора триггера падения EXTI (EXTI_FTSR2) . . . . . . . . . . . . . 550 17.6.10 Регистр событий программного прерывания EXTI (EXTI_SWIER2) . . . . . . . . . . . 551 17.6.11 Регистр ожидания нарастающего фронта EXTI (EXTI_RPR2) . . . . . . . . . . . . . . . . 551 17.6.12 Регистр ожидания спадающего фронта EXTI (EXTI_FPR2) . . . . . . . . . . . . . . . . 552 17.6.13 Регистр включения безопасности EXTI (EXTI_SECCFGR2) . . . . . . . . . . . . . . . 553 17.6.14 Регистр включения привилегий EXTI (EXTI_PRIVCFGR2) . . . . . . . . . . . . . . 553 17.6.15 Регистр выбора внешнего прерывания EXTI (EXTI_EXTICRn). . . . . . . . 554 17.6.16 Регистр блокировки EXTI (EXTI_LOCKR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 17.6.17 Пробуждение ЦП EXTI с регистром маски прерывания (EXTI_IMR1) . . . . . . . 557 17.6.18 Пробуждение ЦП EXTI с регистром маски событий (EXTI_EMR1) . . . . . . . . 558 17.6.19 Пробуждение ЦП EXTI с помощью регистра маски прерывания (EXTI_IMR2) . . . . . . . 559 17.6.20 Пробуждение ЦП EXTI с регистром маски событий (EXTI_EMR2) . . . . . . . . 559 17.6.21 Карта регистров EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
18
Блок вычисления циклического избыточного кода (CRC) . . . . . . . . . . . . . . . . . . . 563
18.1 Введение в КПР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
18.2 Основные характеристики CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
18.3 Функциональное описание CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.1 Блок-схема CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.2 Внутренние сигналы CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.3 Операция CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.4 Регистры CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
18.4.1 18.4.2 18.4.3 18.4.4
Регистр данных CRC (CRC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Независимый регистр данных CRC (CRC_IDR) . . . . . . . . . . . . . . . . . . . . . . 566 Регистр управления CRC (CRC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Начальное значение CRC (CRC_INIT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
18.4.5 Полином CRC (CRC_POL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
18.4.6 Карта регистров CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
19
Гибкий контроллер статической памяти (FSMC) . . . . . . . . . . . . . . . . . . . . . . . . . . 570
19.1 Введение в FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
19.2 Основные характеристики FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
RM0438 Версия 8
17/2187
54
Содержание
RM0438
19.3 19.4 19.5 19.6
19.7
Блок-схема FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Интерфейс AHB . ...
19.4.1 Поддерживаемые памяти и транзакции . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Сопоставление адресов внешних устройств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
19.5.1 Отображение адресов NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 19.5.2 Отображение адресов флэш-памяти NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Контроллер флэш-памяти NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
19.6.1 Сигналы интерфейса внешней памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 19.6.2 Поддерживаемые памяти и транзакции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 19.6.3 Общие правила синхронизации . ... 580 19.6.4 Асинхронные транзакции контроллера флэш-памяти NOR/PSRAM . . . . . . . . . . . . . 580 19.6.5 Синхронные транзакции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598 19.6.6 Регистры контроллера NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Контроллер флэш-памяти NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
19.7.1 Сигналы интерфейса внешней памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 19.7.2 Поддерживаемые NAND-флеш-память и транзакции . . . . . . . . . . . . . . . . 614 19.7.3 Временные диаграммы для NAND-флеш-памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 19.7.4 Операции NAND-флеш-памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 19.7.5 Функциональность предварительного ожидания флэш-памяти NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 19.7.6 Вычисление кода исправления ошибок (ECC)
во флэш-памяти NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 19.7.7 Регистры контроллера флэш-памяти NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 19.7.8 Карта регистров FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
20
Интерфейс Octo-SPI (OCTOSPI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.1 Введение в OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.2 Основные возможности OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.3 Реализация OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
20.4 Функциональное описание OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
20.4.1 Блок-схема OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
20.4.2 Выводы и внутренние сигналы OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
20.4.3 Интерфейс OCTOSPI для режимов памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
20.4.4 Протокол регулярных команд OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
20.4.5 Интерфейс сигнала протокола регулярных команд OCTOSPI . . . . . . . . . . . . . . . 634
20.4.6 Протокол HyperBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
20.4.7 Особенности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
18/2187
RM0438 Версия 8
RM0438
Содержание
20.5 20.6 20.7
20.4.8 Введение в режим работы OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.9 Косвенный режим OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.10 Режим автоматического опроса состояния OCTOSPI . . . . . . . . . . . . . . . . . . . . . . 644 20.4.11 Режим отображения памяти OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 20.4.12 Введение в конфигурацию OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.13 Конфигурация системы OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.14 Конфигурация устройства OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.15 Конфигурация режима обычных команд OCTOSPI . . . . . . . . . . . . . . . . 649 20.4.16 Конфигурация протокола OCTOSPI HyperBus . . . . . . . . . . . . . . . . . . . . . 651 20.4.17 Управление ошибками OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 20.4.18 Octospi BUSY и ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 20.4.19 Реконфигурация или деактивация OCTOSPI . . . . . . . . . . . . . . . . . . . . . . 653 20.4.20 Поведение NCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Выравнивание адреса и номер данных. . . . . . . . . . . . . . . . . . . . . . . . . . . 655 прерываний OctOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 регистров OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
20.7.1 Регистр управления OCTOSPI (OCTOSPI_CR). . . . . . . . . . . . . . . . . . . . . 657 20.7.2 Регистр конфигурации устройства OCTOSPI 1 (OCTOSPI_DCR1) . . . . . . 659 20.7.3 Регистр конфигурации устройства OCTOSPI 2 (OCTOSPI_DCR2) . . . . . . 661 20.7.4 Регистр конфигурации устройства OCTOSPI 3 (OCTOSPI_DCR3) . . . . . . 662 20.7.5 Регистр конфигурации устройства OCTOSPI 4 (OCTOSPI_DCR4) . . . . . . 662 20.7.6 Регистр состояния OCTOSPI (OCTOSPI_SR) . . . . . . . . . . . . . . . . . . . . . . 663 20.7.7 Регистр очистки флага OCTOSPI (OCTOSPI_FCR) . . . . . . . . . . . . . . . . . . 664 20.7.8 Регистр длины данных OCTOSPI (OCTOSPI_DLR). . . . . . . . . . . . . . . . 664 20.7.9 Адресный регистр OCTOSPI (OCTOSPI_AR) . . . . . . . . . . . . . . . . . . . . 665 20.7.10 Регистр данных OCTOSPI (OCTOSPI_DR) . . . . . . . . . . . . . . . . . . . . . . . 665 20.7.11 Регистр маски состояния опроса OCTOSPI (OCTOSPI_PSMKR) . . . . . . . 666 20.7.12 Регистр соответствия статуса опроса OCTOSPI (OCTOSPI_PSMAR). . . . . . . 667 20.7.13 Регистр интервала опроса OCTOSPI (OCTOSPI_PIR) . . . . . . . . . . . . . . 667 20.7.14 Регистр конфигурации связи OCTOSPI (OCTOSPI_CCR). . 667 20.7.15 Регистр конфигурации синхронизации OCTOSPI (OCTOSPI_TCR) . . . . . . . . . . 670 20.7.16 Регистр инструкций OCTOSPI (OCTOSPI_IR) . . . . . . . . . . . . . . . . . . . 670 20.7.17 Регистр альтернативных байтов OCTOSPI (OCTOSPI_ABR) . . . . . . . . . . . . . 671 20.7.18 Регистр тайм-аута малой мощности OCTOSPI (OCTOSPI_LPTR) . . . . . . . . . . 671 20.7.19 Регистр конфигурации связи OCTOSPI
(OCTOSPI_WPCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 20.7.20 Регистр конфигурации синхронизации переноса OCTOSPI (OCTOSPI_WPTCR). . 674
RM0438 Версия 8
19/2187
54
Содержание
RM0438
20.7.21 Регистр инструкций переноса OCTOSPI (OCTOSPI_WPIR). . . . . . . . . . . . 674 20.7.22 Регистр альтернативных байтов переноса OCTOSPI (OCTOSPI_WPABR) . . . . . . 675 20.7.23 OCTOSPI записывает регистр конфигурации связи
(OCTOSPI_WCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 20.7.24 Регистр конфигурации времени записи OCTOSPI (OCTOSPI_WTCR) . . . . 677 20.7.25 Регистр инструкций записи OCTOSPI (OCTOSPI_WIR) . . . . . . . . . . . . . 678 20.7.26 Регистр альтернативных байтов записи OCTOSPI (OCTOSPI_WABR) . . . . . . . 678 20.7.27 Регистр конфигурации задержки OCTOSPI HyperBus
(OCTOSPI_HLCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 20.7.28 Карта регистров OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
21
Аналого-цифровые преобразователи (АЦП) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
21.1 Введение в АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
21.2 Основные характеристики АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
21.3 Реализация АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
21.4 Функциональное описание АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
21.4.1 Структурная схема АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
21.4.2 Выводы АЦП и внутренние сигналы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
21.4.3 Тактовые сигналы АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
21.4.4 Подключение АЦП1/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
21.4.5 Интерфейс ведомого AHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
21.4.6 Режим глубокого понижения мощности АЦП (DEEPPWD) и громкость АЦПtagрегулятор (ADVREGEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
21.4.7 Несимметричные и дифференциальные входные каналы . . . . . . . . . . . . . . . . . . . . . . . . 693
21.4.8 Калибровка (ADCAL, ADCALDIF, ADC_CALFACT) . . . . . . . . . . . . . . . . . . 693
21.4.9 Управление включением-выключением АЦП (ADEN, ADDIS, ADRDY) . . . . . . . . . . . . . . . . . . . . . . . 696
21.4.10 Ограничения при записи управляющих битов АЦП . . . . . . . . . . . . . . . . . . . . . . . . 697
21.4.11 Выбор канала (ADC_SQRy, ADC_JSQR) . . . . . . . . . . . . . . . . . . . . . . 698
21.4.12 Программируемые по каналам sampвремя ling (SMPR1, SMPR2) . . . . . 699
21.4.13 Режим одиночного преобразования (CONT = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
21.4.14 Режим непрерывного преобразования (CONT = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
21.4.15 Запуск конверсий (ADSTART, JADSTART) . . . . . . . . . . . . . . . . . . . . . . 701
21.4.16 Синхронизация АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
21.4.17 Остановка текущего преобразования (ADSTP, JADSTP) . . . . . . . . . . . . . . . 702
21.4.18 Преобразование по внешнему триггеру и полярности триггера (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
21.4.19 Управление инжектированными каналами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
21.4.20 Прерывистый режим (DISCEN, DISCNUM, JDISCEN) . . . . . . . . . . . . 708
20/2187
RM0438 Версия 8
RM0438
Содержание
21.5 21.6 21.7
21.4.21 Очередь контекста для внедренных преобразований . . . . . . . . . . . . . . . . . . . . . . . . . . 709 21.4.22 Программируемое разрешение (RES) — режим быстрого преобразования . . . . . . . . . . . 717 21.4.23 Конец преобразования, конец sampфаза преобразования (EOC, JEOC, EOSMP) . . 718 21.4.24 Конец последовательности преобразования (EOS, JEOS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 21.4.25 Временные диаграммы exampле (одиночные/непрерывные режимы,
(аппаратные/программные триггеры) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 21.4.26 Управление данными . ... 721 21.4.27 Динамические функции с низким энергопотреблением . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726 21.4.28 Аналоговый оконный сторожевой таймер (AWD727EN, JAWD21.4.29EN, AWD1SGL,
AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx). . . . . 732 21.4.30 Оверыampлер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 21.4.31 Режимы работы с двумя АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742 21.4.32 Датчик температуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 21.4.33 Мониторинг питания VBAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 21.4.34 Мониторинг внутреннего объемаtagэлектронная ссылка . . . . . . . . . . . . . . . . . . . . . . . . 758
АЦП в режиме пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 Прерывания АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760 Регистры АЦП (для каждого АЦП) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
21.7.1 Регистр прерываний и состояния АЦП (ADC_ISR) . . . . . . . . . . . . . . . . . . . . . . 761 21.7.2 Регистр разрешения прерываний АЦП (ADC_IER) . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 21.7.3 Регистр управления АЦП (ADC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 21.7.4 Регистр конфигурации АЦП (ADC_CFGR) . . . . . . . . . . . . . . . . . . . . . 768 21.7.5 Регистр конфигурации АЦП 2 (ADC_CFGR2) . . . . . . . . . . . . . . . . . . . . . . 772 21.7.6 АЦПampрегистр времени 1 (ADC_SMPR1) . . . . . . . . . . . . . . . . . . . . . . 774 21.7.7 АЦП сampРегистр времени 2 (ADC_SMPR2) . . . . . . . . . . . . . . . . . . . . . . . 775 21.7.8 Регистр порога сторожевого таймера АЦП 1 (ADC_TR1) . . . . . . . . . . . . . . . . . 776 21.7.9 Регистр порога сторожевого таймера АЦП 2 (ADC_TR2) . . . . . . . . . . . . . . . . . . 776 21.7.10 Регистр порога сторожевого таймера АЦП 3 (ADC_TR3) . . . . . . . . . . . . . 777 21.7.11 Регистр регулярной последовательности АЦП 1 (ADC_SQR1) . . . . . . . . . . . . . . . . . . . 778 21.7.12 Регистр регулярной последовательности АЦП 2 (ADC_SQR2) . . . . . . . . . . . . . . . . . . . 779 21.7.13 Регистр регулярной последовательности АЦП 3 (ADC_SQR3) . . . . . . . . . . . . . . . . . . 780 21.7.14 Регистр регулярной последовательности АЦП 4 (ADC_SQR4) . . . . . . . . . . . . . . 781 21.7.15 Регистр обычных данных АЦП (ADC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 21.7.16 Регистр инжектированной последовательности АЦП (ADC_JSQR) . . . . . . . . . . . . . . . . . . . . . 782 21.7.17 Регистр смещения y АЦП (ADC_OFRy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 21.7.18 Регистр данных канала y с инжекцией АЦП (ADC_JDRy) . . . . . . . . . . . . . . . . . 785
RM0438 Версия 8
21/2187
54
Содержание
RM0438
21.8 21.9
21.7.19 Регистр конфигурации аналогового сторожевого таймера АЦП 2 (ADC_AWD2CR) . . . . 785 21.7.20 Регистр конфигурации аналогового сторожевого таймера АЦП 3 (ADC_AWD3CR) . . . . 786 21.7.21 Регистр выбора дифференциального режима АЦП (ADC_DIFSEL) . . . . . . . . . . . 786 21.7.22 Коэффициенты калибровки АЦП (ADC_CALFACT) . . . . . . . . . . . . . . . . . . . . . . . 787
Общие регистры АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
21.8.1 Общий регистр состояния АЦП (ADC_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . 787 21.8.2 Общий регистр управления АЦП (ADC_CCR) . . . . . . . . . . . . . . . . . . . . . . . 789 21.8.3 Общий регистр обычных данных АЦП для двойного режима (ADC_CDR) . . . . . 792
Карта регистров АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
22
Цифро-аналоговый преобразователь (ЦАП) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.1 Введение в ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.2 Основные характеристики ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.3 Реализация DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
22.4 Функциональное описание ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
22.4.1 Структурная схема ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
22.4.2 Включение канала ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
22.4.3 Формат данных ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
22.4.4 Преобразование ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
22.4.5 Громкость выхода ЦАПtagе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
22.4.6 Выбор триггера ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
22.4.7 Запросы DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
22.4.8 Генерация шума . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
22.4.9 Генерация треугольной волны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
22.4.10 Режимы каналов ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
22.4.11 Калибровка буфера канала ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
22.4.12 Режимы преобразования каналов ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
22.4.13 Режимы преобразования двух каналов ЦАП (при наличии двух каналов) . ...
22.5 ЦАП в режимах пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
22.6 Прерывания ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7 Регистры ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7.1 Регистр управления ЦАП (DAC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7.2 Регистр запуска программного обеспечения ЦАП (DAC_SWTRGR) . . . . . . . . . . . . . . . . . . . . 820
22.7.3 1-битный регистр хранения данных канала ЦАП 12, выровненный вправо (DAC_DHR12R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
22/2187
RM0438 Версия 8
RM0438
Содержание
22.7.4 1-битный регистр хранения данных канала ЦАП 12, выровненный влево (DAC_DHR12L1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.5 1-битный регистр хранения данных канала ЦАП 8, выровненный вправо (DAC_DHR8R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.6 2-битный регистр хранения данных канала ЦАП 12, выровненный вправо (DAC_DHR12R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.7 2-битный регистр хранения данных канала ЦАП 12, выровненный влево (DAC_DHR12L2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.8 2-битный регистр хранения данных канала ЦАП 8, выровненный вправо (DAC_DHR8R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.9 Двойной 12-битный регистр хранения данных ЦАП с правым выравниванием (DAC_DHR12RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.10 Регистр хранения данных с двумя ЦАП, 12-битный, выровненный по левому краю (DAC_DHR12LD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.11 Регистр хранения данных с двойным ЦАП, 8-битный, выровненный вправо (DAC_DHR8RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.12 Регистр вывода данных канала 1 ЦАП (DAC_DOR1) . . . . . . . . . . . . . . . . . . 825
22.7.13 Регистр вывода данных канала 2 ЦАП (DAC_DOR2) . . . . . . . . . . . . . . . . . . 825
22.7.14 Регистр состояния ЦАП (DAC_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
22.7.15 Регистр управления калибровкой ЦАП (DAC_CCR) . . . . . . . . . . . . . . . . . . . . . . 827
22.7.16 Регистр управления режимом ЦАП (DAC_MCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
22.7.17 ЦАП канал 1 сampле и держи sampрегистр времени (DAC_SHSR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.18 ЦАП канал 2 сampле и держи sampрегистр времени (DAC_SHSR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.19 ЦАП сampрегистр времени удержания и удержания (DAC_SHHR) . . . . . . . . . . . . . . . . . 829
22.7.20 ЦАП сampрегистр времени обновления le и hold (DAC_SHRR) . . . . . . . . . 830
22.7.21 Карта регистров ЦАП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
23
Томtagбуфер ссылок (VREFBUF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.1 Введение в VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.2 Функциональное описание VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.3 Обрезка VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
23.4 Регистры VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
23.4.1 Регистр управления и состояния VREFBUF (VREFBUF_CSR) . . . . . . . . . . . 835
23.4.2 Регистр управления калибровкой VREFBUF (VREFBUF_CCR) . . . . . . . . . . . 836
23.4.3 Карта регистров VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
24
Компаратор (КОМП) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
24.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
RM0438 Версия 8
23/2187
54
Содержание
RM0438
24.2 24.3
24.4 24.5 24.6
Основные характеристики COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 Функциональное описание COMP . ...
24.3.1 Блок-схема COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.2 Выводы и внутренние сигналы COMP . ... 838 24.3.3 Механизм блокировки компаратора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.4 Оконный компаратор . ... . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.5 Функция гашения выхода компаратора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.6 Режимы мощности и скорости COMP . ...
Режимы низкого энергопотребления COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 Прерывания COMP . ... . . . . . . . . . . . . . 842
24.6.1 Регистр управления и состояния компаратора 1 (COMP1_CSR) . . . . . . . . . . . 843 24.6.2 Регистр управления и состояния компаратора 2 (COMP2_CSR) . . . . . . . . . . . . 845 24.6.3 Карта регистров COMP . ...
25
Оперативный ampлифтеры (ОПAMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.2 ОПAMP основные характеристики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3 ОПAMP функциональное описание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3.1 ОПAMP сброс и часы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3.2 Начальная конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
25.3.3 Маршрутизация сигналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
25.3.4 ОПAMP режимы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
25.3.5 Калибровка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
25.4 ОПAMP Режимы пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
25.5 ОПAMP регистры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
25.5.1 ОПAMP1 регистр управления/состояния (OPAMP1_КСО) . . . . . . . . . . . . . . . . . . . . 857
25.5.2 ОПAMP1 регистр обрезки смещения в нормальном режиме (OPAMP1_ОТР) . . 858
25.5.3 ОПAMP1 регистр подстройки смещения в режиме пониженного энергопотребления (OPAMP1_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
25.5.4 ОПAMP2 регистр управления/состояния (OPAMP2_CRS) . . . . . . . . . . . . . . . . . . . . 859
25.5.5 ОПAMP2 регистр обрезки смещения в нормальном режиме (OPAMP2_ОТР) . . 860
25.5.6 ОПAMP2 регистр подстройки смещения в режиме пониженного энергопотребления (OPAMP2_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
25.5.7 ОПAMP карта регистра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
24/2187
RM0438 Версия 8
RM0438
Содержание
26
Цифровой фильтр для сигма-дельта-модуляторов (DFSDM) . . . . . . . . . . . . . . . . . . 862
26.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
26.2 Основные характеристики DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
26.3 Реализация DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
26.4 Функциональное описание DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
26.4.1 Блок-схема DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
26.4.2 Контакты DFSDM и внутренние сигналы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
26.4.3 Сброс DFSDM и тактовая частота . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
26.4.4 Приемопередатчики последовательного канала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
26.4.5 Настройка входного последовательного интерфейса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
26.4.6 Параллельный ввод данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
26.4.7 Выбор канала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
26.4.8 Конфигурация цифрового фильтра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
26.4.9 Интеграторный блок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
26.4.10 Аналоговый сторожевой таймер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
26.4.11 Детектор короткого замыкания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
26.4.12 Детектор экстремальных значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
26.4.13 Блок данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
26.4.14 Формат подписанных данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
26.4.15 Запуск конверсий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
26.4.16 Непрерывный и быстрый непрерывный режимы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
26.4.17 Приоритет запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
26.4.18 Оптимизация энергопотребления в режиме работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
26.5 Прерывания DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
26.6 Передача DMA DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
26.7 Регистры канала y DFSDM (y=0..3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
26.7.1 Регистр конфигурации канала y DFSDM (DFSDM_CHyCFGR1) . . . . 892
26.7.2 Регистр конфигурации канала y DFSDM (DFSDM_CHyCFGR2) . . . . 894
26.7.3 Аналоговый сторожевой таймер и регистр детектора короткого замыкания канала y DFSDM (DFSDM_CHyAWSCDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
26.7.4 Регистр данных фильтра сторожевого таймера канала y DFSDM (DFSDM_CHyWDATR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
26.7.5 Регистр ввода данных канала y DFSDM (DFSDM_CHyDATINR) . . . . . . 896
26.7.6 Регистр задержки канала y DFSDM (DFSDM_CHyDLYR). . . . . . . . . . . . 897
26.8 Регистры модуля x фильтра DFSDM (x=0..3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
26.8.1 Регистр управления фильтром x DFSDM 1 (DFSDM_FLTxCR1) . . . . . . . . . . . . . 898
26.8.2 Регистр управления фильтром x DFSDM 2 (DFSDM_FLTxCR2) . . . . . . . . . . . . . 901
RM0438 Версия 8
25/2187
54
Содержание
RM0438
26.8.3 Регистр прерываний и состояния фильтра DFSDM x (DFSDM_FLTxISR) . . . . . 902
26.8.4 Регистр очистки флага прерывания фильтра DFSDM x (DFSDM_FLTxICR) . . . . . 904
26.8.5 Регистр выбора группы каналов с введенным фильтром DFSDM x (DFSDM_FLTxJCHGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
26.8.6 Регистр управления фильтром x DFSDM (DFSDM_FLTxFCR) . . . . . . . . . . . . . . . 905
26.8.7 Регистр данных x фильтра DFSDM для внедренной группы (DFSDM_FLTxJDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
26.8.8 Регистр данных x фильтра DFSDM для обычного канала (DFSDM_FLTxRDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
26.8.9 Фильтр DFSDM x аналоговый сторожевой таймер регистра высокого порога (DFSDM_FLTxAWHTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.10 Фильтр DFSDM x регистр нижнего порога аналогового сторожевого таймера (DFSDM_FLTxAWLTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.11 Регистр состояния аналогового сторожевого таймера фильтра DFSDM x (DFSDM_FLTxAWSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
26.8.12 Регистр флага очистки аналогового сторожевого таймера фильтра DFSDM x (DFSDM_FLTxAWCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.13 Регистр максимума детектора экстремумов фильтра x DFSDM (DFSDM_FLTxEXMAX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.14 Регистр минимума детектора экстремумов фильтра DFSDM x (DFSDM_FLTxEXMIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
26.8.15 Регистр таймера преобразования фильтра DFSDM x (DFSDM_FLTxCNVTIMR) . . 911
26.8.16 Карта регистров DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
27
Контроллер сенсорного датчика (TSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.2 Основные характеристики TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.3 Функциональное описание TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
27.3.1 Блок-схема TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
27.3.2 Получение поверхностного переноса зарядаview . . . . . . . . . . . . . . . . . . . 921
27.3.3 Сброс и часы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
27.3.4 Последовательность получения переноса заряда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
27.3.5 Функция расширенного спектра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
27.3.6 Максимальная ошибка счета . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
27.3.7 СampВыбор режима ввода-вывода конденсатора и канала ввода-вывода . . . . . . . . . . . . 926
27.3.8 Режим сбора данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
27.3.9 Гистерезис ввода/вывода и управление аналоговым переключением . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
27.4 Режимы малой мощности TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.5 Прерывания TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
26/2187
RM0438 Версия 8
RM0438
Содержание
27.6
Регистры TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.6.1 Регистр управления TSC (TSC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 27.6.2 Регистр разрешения прерываний TSC (TSC_IER) . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 27.6.3 Регистр очистки прерываний TSC (TSC_ICR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.4 Регистр состояния прерываний TSC (TSC_ISR) . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.5 Регистр управления гистерезисом ввода-вывода TSC (TSC_IOHCR) . . . . . . . . . . . . . . . . 933 27.6.6 Регистр управления аналоговым переключателем ввода-вывода TSC
(TSC_IOASCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 27.6.7 Ввод-вывод TSCampРегистр управления потоком (TSC_IOSCR) . . . . . . . . . . . . . . . . . 934 27.6.8 Регистр управления каналом ввода-вывода TSC (TSC_IOCCR) . . . . . . . . . . . . . . . . . . . 934 27.6.9 Регистр состояния управления группой ввода-вывода TSC (TSC_IOGCSR) . . . . . . . . . . . . . 935 27.6.10 Регистр счетчика x группы ввода-вывода TSC (TSC_IOGxCR) . . . . . . . . . . . . . . . . 935 27.6.11 Карта регистров TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
28
Генератор случайных чисел (ГСЧ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.1 Введение в ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.2 Основные характеристики ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.3 Функциональное описание ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.1 Блок-схема ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.2 Внутренние сигналы ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.3 Генерация случайных чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.4 Инициализация ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
28.3.5 Работа генератора случайных чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
28.3.6 Тактирование ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
28.3.7 Управление ошибками . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
28.3.8 Использование маломощного ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
28.4 Прерывания ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
28.5 Время обработки ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6 Проверка источника энтропии ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.2 Условия проверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.3 Сбор данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7 Регистры ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7.1 Регистр управления ГСЧ (RNG_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7.2 Регистр состояния ГСЧ (RNG_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
28.7.3 Регистр данных ГСЧ (RNG_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
28.7.4 Регистр контроля работоспособности ГСЧ (RNG_HTCR) . . . . . . . . . . . . . . . . . . . . 952
RM0438 Версия 8
27/2187
54
Содержание
RM0438
28.7.5 Карта регистров ГСЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
29
Аппаратный ускоритель AES (AES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.2 Основные характеристики AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.3 Реализация AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.4 Функциональное описание AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.1 Блок-схема AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.2 Внутренние сигналы AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.3 Криптографическое ядро AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.4 Процедура AES для выполнения операции шифрования . . . . . . . . . . . . . . . . . . . . . 960
29.4.5 Подготовка ключа раунда расшифровки AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963
29.4.6 Кража шифротекста AES и заполнение данных . . . . . . . . . . . . . . . . . . . . . . . . . . 963
29.4.7 Приостановка и возобновление задачи AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
29.4.8 Базовые режимы цепочки AES (ECB, CBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
29.4.9 Режим счетчика AES (CTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
29.4.10 Режим Галуа/счетчика AES (GCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
29.4.11 Код аутентификации сообщений Галуа AES (GMAC) . . . . . . . . . . . . . . . . 976
29.4.12 Счетчик AES с CBC-MAC (CCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
29.4.13 Регистры данных AES и обмен данными . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983
29.4.14 Регистры ключей AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
29.4.15 Регистры вектора инициализации AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
29.4.16 Интерфейс AES DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
29.4.17 Управление ошибками AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
29.5 Прерывания AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
29.6 Задержка обработки AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
29.7 Регистры AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
29.7.1 Регистр управления AES (AES_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
29.7.2 Регистр состояния AES (AES_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
29.7.3 Регистр ввода данных AES (AES_DINR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
29.7.4 Регистр вывода данных AES (AES_DOUTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
29.7.5 Регистр ключа AES 0 (AES_KEYR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
29.7.6 Регистр ключа AES 1 (AES_KEYR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
29.7.7 Регистр ключа AES 2 (AES_KEYR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
29.7.8 Регистр ключа AES 3 (AES_KEYR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
29.7.9 Регистр вектора инициализации AES 0 (AES_IVR0) . . . . . . . . . . . . . . . . . . . . . 995
28/2187
RM0438 Версия 8
RM0438
Содержание
29.7.10 Регистр вектора инициализации AES 1 (AES_IVR1) . . . . . . . . . . . . . . . . . . . . 996 29.7.11 Регистр вектора инициализации AES 2 (AES_IVR2) . . . . . . . . . . . . . . . . . . . . . 996 29.7.12 Регистр вектора инициализации AES 3 (AES_IVR3) . . . . . . . . . . . . . . . . . . . . . 996 29.7.13 Регистр ключа AES 4 (AES_KEYR4) . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.14 Регистр ключа AES 5 (AES_KEYR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.15 Регистр ключа AES 6 (AES_KEYR6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.16 Регистр ключа AES 7 (AES_KEYR7) . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.17 Регистры приостановки AES (AES_SUSPxR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.18 Карта регистров AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
30
Процессор хэширования (HASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.2 Основные характеристики хеша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.3 Реализация хеша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4 Функциональное описание хеша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4.1 Блок-схема хэша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4.2 Внутренние сигналы хэширования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.3 О безопасных алгоритмах хеширования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.4 Передача данных сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.5 Вычисление дайджеста сообщения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
30.4.6 Заполнение сообщения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
30.4.7 Операция HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
30.4.8 Приостановка/возобновление операций HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
30.4.9 Интерфейс HASH DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.4.10 Управление ошибками хеша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.4.11 Время обработки хеша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.5 Прерывания хэширования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
30.6 Регистры хэша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
30.6.1 Регистр управления хэшем (HASH_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
30.6.2 Регистр ввода данных хеша (HASH_DIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016
30.6.3 Начальный регистр хеша (HASH_STR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
30.6.4 Регистры дайджеста хэша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
30.6.5 Регистр разрешения прерываний HASH (HASH_IMR) . . . . . . . . . . . . . . . . . . . 1019
30.6.6 Регистр состояния хеша (HASH_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020
30.6.7 Регистры подкачки контекста хэша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020
30.6.8 Карта регистра хэша . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
RM0438 Версия 8
29/2187
54
Содержание
RM0438
31
Механизм дешифрования «на лету» (OTFDEC) . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
31.1 Введение в OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
31.2 Основные характеристики OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
31.3 Функциональное описание OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.1 Блок-схема OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.2 Внутренние сигналы OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.3 Дешифрование OTFDEC «на лету» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
31.3.4 Использование OTFDEC AES в режиме дешифрования счетчика . . . . . . . . . . . . . . 1026
31.3.5 Управление потоками данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
31.3.6 Управление ошибками OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
31.4 Прерывания OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5 Информация о приложении OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5.1 Процесс инициализации OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5.2 OTFDEC и управление питанием . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
31.5.3 Шифрование для OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
31.5.4 Исходный код CRC ключа OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
31.6 Регистры OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
31.6.1 Регистр управления OTFDEC (OTFDEC_CR) . . . . . . . . . . . . . . . . . . . . . . . . 1032
31.6.2 Регистр конфигурации управления привилегированным доступом OTFDEC (OTFDEC_PRIVCFGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
31.6.3 Регистр конфигурации региона OTFDEC x (OTFDEC_RxCFGR) . . . . . 1033
31.6.4 Регистр начального адреса региона OTFDEC x (OTFDEC_RxSTARTADDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
31.6.5 Регистр конечного адреса региона x OTFDEC (OTFDEC_RxENDADDR) . 1035
31.6.6 Регистр одноразовых номеров региона OTFDEC x 0 (OTFDEC_RxNONCER0) . . . . . 1036
31.6.7 Регистр одноразовых номеров региона OTFDEC x 1 (OTFDEC_RxNONCER1) . . . . . 1037
31.6.8 Регистр ключа x региона OTFDEC 0 (OTFDEC_RxKEYR0) . . . . . . . . . . 1037
31.6.9 Регистр ключа x региона OTFDEC 1 (OTFDEC_RxKEYR1) . . . . . . . . . . 1038
31.6.10 Регистр ключа x региона OTFDEC 2 (OTFDEC_RxKEYR2) . . . . . . . . . . 1038
31.6.11 Регистр ключа x региона OTFDEC 3 (OTFDEC_RxKEYR3) . . . . . . . . . . 1039
31.6.12 Регистр состояния прерывания OTFDEC (OTFDEC_ISR) . . . . . . . . . . . . . . . 1039
31.6.13 Регистр очистки прерывания OTFDEC (OTFDEC_ICR) . . . . . . . . . . . . . . . 1040
31.6.14 Регистр разрешения прерываний OTFDEC (OTFDEC_IER) . . . . . . . . . . . . . . . 1041
31.6.15 Карта регистров OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
32
Ускоритель открытого ключа (PKA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
32.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
30/2187
RM0438 Версия 8
RM0438
Содержание
32.2 32.3
32.4
32.5 32.6 32.7
Основные характеристики PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 Функциональное описание PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
32.3.1 Структурная схема PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 32.3.2 Внутренние сигналы PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.3 Сброс и тактирование PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.4 Ускорение открытого ключа PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.5 Типичные применения PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 32.3.6 Процедура PKA для выполнения операции . . . . . . . . . . . . . . . . . . . . . 1051 32.3.7 Управление ошибками PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
Режимы работы ПКА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
32.4.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 32.4.2 Вычисление параметров Монтгомери . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053 32.4.3 Модульное сложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.4 Модульное вычитание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.5 Модульное умножение и умножение Монтгомери . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 32.4.6 Модульное возведение в степень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.7 Модульное обращение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.8 Модульное сокращение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.9 Арифметическое сложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.10 Арифметическое вычитание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.11 Арифметическое умножение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.12 Арифметическое сравнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.13 Возведение в степень RSA CRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.14 Проверка точки на эллиптической кривой Fp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.15 Скалярное умножение ECC Fp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060 32.4.16 Знак ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 32.4.17 Проверка ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
Example конфигураций и времени обработки . . . . . . . . . . . . . . . . . . 1064
32.5.1 Поддерживаемые эллиптические кривые . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064 32.5.2 Время вычислений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
Прерывания PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067 Регистры PKA . ...
32.7.1 Регистр управления PKA (PKA_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 32.7.2 Регистр состояния PKA (PKA_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 32.7.3 Регистр флага очистки PKA (PKA_CLRFR) . . . . . . . . . . . . . . . . . . . . . . . . . 1070 32.7.4 PKA RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
RM0438 Версия 8
31/2187
54
Содержание
RM0438
32.7.5 Карта регистра PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
33
Таймеры с расширенным управлением (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.1 Введение в TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.2 Основные характеристики TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.3 Функциональное описание TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
33.3.1 Единица измерения времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
33.3.2 Режимы счетчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
33.3.3 Счетчик повторений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
33.3.4 Внешний триггерный вход . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089
33.3.5 Выбор часов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
33.3.6 Захват/сравнение каналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094
33.3.7 Режим захвата входного сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
33.3.8 Режим входа ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
33.3.9 Режим принудительного вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098
33.3.10 Режим сравнения выходов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099
33.3.11 Режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100
33.3.12 Асимметричный режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103
33.3.13 Комбинированный режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
33.3.14 Комбинированный 3-фазный режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
33.3.15 Дополнительные выходы и вставка мертвого времени . . . . . . . . . . . . . . . . . 1106
33.3.16 Использование функции break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108
33.3.17 Двунаправленные входы прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114
33.3.18 Сброс сигнала OCxREF по внешнему событию . . . . . . . . . . . . . . . 1115
33.3.19 6-шаговая генерация ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
33.3.20 Режим одного импульса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118
33.3.21 Режим повторного запуска одним импульсом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119
33.3.22 Режим интерфейса энкодера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120
33.3.23 Переназначение бит UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122
33.3.24 Функция XOR для входа таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
33.3.25 Взаимодействие с датчиками Холла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
33.3.26 Синхронизация таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
33.3.27 Синхронизация АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
33.3.28 Пакетный режим DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
33.3.29 Режим отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131
33.4 Регистры TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1132
33.4.1 Регистр управления TIMx 1 (TIMx_CR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . 1132
32/2187
RM0438 Версия 8
RM0438
Содержание
33.4.2 Регистр управления TIMx 2 (TIMx_CR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . 1133
33.4.3 Регистр управления ведомым режимом TIMx (TIMx_SMCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
33.4.4 Регистр разрешения DMA/прерываний TIMx (TIMx_DIER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
33.4.5 Регистр состояния TIMx (TIMx_SR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . 1140
33.4.6 Регистр генерации событий TIMx (TIMx_EGR)(x = 1, 8) . . . . . . . . . . . . . 1142
33.4.7 Регистр режима захвата/сравнения TIMx 1 (TIMx_CCMR1)(x = 1, 8) . . 1143
33.4.8 Регистр режима захвата/сравнения TIMx 1 [альтернативный] (TIMx_CCMR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
33.4.9 Регистр режима захвата/сравнения TIMx 2 (TIMx_CCMR2)(x = 1, 8) . . 1147
33.4.10 Регистр режима захвата/сравнения TIMx 2 [альтернативный] (TIMx_CCMR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
33.4.11 Регистр разрешения захвата/сравнения TIMx (TIMx_CCER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
33.4.12 Счетчик TIMx (TIMx_CNT)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.13 Предделитель TIMx (TIMx_PSC)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.14 Регистр автоперезагрузки TIMx (TIMx_ARR)(x = 1, 8) . . . . . . . . . . . . . . . . . . 1153
33.4.15 Регистр счетчика повторений TIMx (TIMx_RCR)(x = 1, 8) . . . . . . . . . . . 1154
33.4.16 Регистр захвата/сравнения TIMx 1 (TIMx_CCR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
33.4.17 Регистр захвата/сравнения TIMx 2 (TIMx_CCR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.18 Регистр захвата/сравнения TIMx 3 (TIMx_CCR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.19 Регистр захвата/сравнения TIMx 4 (TIMx_CCR4)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.20 Регистр прерывания и мертвого времени TIMx (TIMx_BDTR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.21 Регистр управления DMA TIMx (TIMx_DCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
33.4.22 Адрес DMA TIMx для полной передачи (TIMx_DMAR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
33.4.23 Регистр опций TIM1 1 (TIM1_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.24 Регистр опций TIM8 1 (TIM8_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.25 Регистр режима захвата/сравнения TIMx 3 (TIMx_CCMR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
33.4.26 Регистр захвата/сравнения TIMx 5 (TIMx_CCR5)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
33.4.27 Регистр захвата/сравнения TIMx 6 (TIMx_CCR6)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
RM0438 Версия 8
33/2187
54
Содержание
RM0438
33.4.28 Регистр опций TIM1 2 (TIM1_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 33.4.29 Регистр опций TIM1 3 (TIM1_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167 33.4.30 Регистр опций TIM8 2 (TIM8_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 33.4.31 Регистр опций TIM8 3 (TIM8_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 33.4.32 Карта регистров TIM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 33.4.33 Карта регистров TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174
34
Таймеры общего назначения (TIM2/TIM3/TIM4/TIM5) . . . . . . . . . . . . . . . . . . 1177
34.1 Введение в TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
34.2 Основные характеристики TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
34.3 Функциональное описание TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . .1179
34.3.1 Единица измерения времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
34.3.2 Режимы счетчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
34.3.3 Выбор часов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191
34.3.4 Захват/сравнение каналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
34.3.5 Режим захвата входного сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197
34.3.6 Режим входа ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
34.3.7 Режим принудительного вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
34.3.8 Режим сравнения выходов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
34.3.9 Режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
34.3.10 Асимметричный режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204
34.3.11 Комбинированный режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205
34.3.12 Сброс сигнала OCxREF по внешнему событию . . . . . . . . . . . . . . . 1206
34.3.13 Режим одного импульса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208
34.3.14 Режим повторного запуска одним импульсом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209
34.3.15 Режим интерфейса энкодера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
34.3.16 Переназначение бит UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
34.3.17 Функция XOR для входа таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
34.3.18 Таймеры и синхронизация внешнего триггера . . . . . . . . . . . . . . . . . . . . . 1213
34.3.19 Синхронизация таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
34.3.20 Пакетный режим DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221
34.3.21 Режим отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222
34.4 Регистры TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223
34.4.1 Регистр управления TIMx 1 (TIMx_CR1)(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . 1223
34.4.2 Регистр управления TIMx 2 (TIMx_CR2)(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . 1224
34.4.3 Регистр управления ведомым режимом TIMx (TIMx_SMCR)(x = от 2 до 5) . . . . . . . 1226
34.4.4 Регистр разрешения DMA/прерываний TIMx (TIMx_DIER)(x = от 2 до 5) . . . . . . 1229
34/2187
RM0438 Версия 8
RM0438
Содержание
34.4.5 Регистр состояния TIMx (TIMx_SR)(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . . . . 1230 34.4.6 Регистр генерации событий TIMx (TIMx_EGR)(x = от 2 до 5) . . . . . . . . . . 1231 34.4.7 Регистр режима захвата/сравнения TIMx 1 (TIMx_CCMR1)(x = от 2 до 5) . 1232 34.4.8 Регистр режима захвата/сравнения TIMx 1 [альтернативный] (TIMx_CCMR1)
(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 34.4.9 Регистр режима захвата/сравнения TIMx 2 (TIMx_CCMR2)(x = от 2 до 5) . 1236 34.4.10 Регистр режима захвата/сравнения TIMx 2 [альтернативный] (TIMx_CCMR2)
(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237 34.4.11 Регистр разрешения захвата/сравнения TIMx
(TIMx_CCER)(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238 34.4.12 Счетчик TIMx (TIMx_CNT)(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239 34.4.13 Счетчик TIMx [альтернативный] (TIMx_CNT)(x = от 2 до 5) . . . . . . . . . . . . . . . 1240 34.4.14 Предделитель TIMx (TIMx_PSC)(x = от 2 до 5) . . . . . . . . . . . . . . . . . . . . . . . . . . 1240 34.4.15 Регистр автоперезагрузки TIMx (TIMx_ARR)(x = от 2 до 5) . . . . . . . . . . . . . . 1241 34.4.16 Регистр захвата/сравнения TIMx 1 (TIMx_CCR1)(x = от 2 до 5) . . . . . . 1241 34.4.17 Регистр захвата/сравнения TIMx 2 (TIMx_CCR2)(x = от 2 до 5) . . . . . . . 1241 34.4.18 Регистр захвата/сравнения TIMx 3 (TIMx_CCR3)(x = от 2 до 5) . . . . . . . 1242 34.4.19 Регистр захвата/сравнения TIMx 4 (TIMx_CCR4)(x = от 2 до 5) . . . . . . . 1242 34.4.20 Регистр управления DMA TIMx (TIMx_DCR)(x = от 2 до 5) . . . . . . . . . . . . 1243 34.4.21 Адрес DMA TIMx для полной передачи (TIMx_DMAR)(x = от 2 до 5) . . . . . . . 1244 34.4.22 Регистр опций TIM2 1 (TIM2_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.23 Регистр опций TIM3 1 (TIM3_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.24 Регистр опций TIM2 2 (TIM2_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.25 Регистр опций TIM3 2 (TIM3_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.26 Карта регистров TIMx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
35
Таймеры общего назначения (TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . 1250
35.1 Введение в TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250
35.2 Основные характеристики TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250
35.3 Основные характеристики TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
35.4 Функциональное описание TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
35.4.1 Единица измерения времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
35.4.2 Режимы счетчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
35.4.3 Счетчик повторений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260
35.4.4 35.4.5 35.4.6 35.4.7
Выбор часов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261 Захват/сравнение каналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263 Режим захвата входа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265 Режим входа ШИМ (только для TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266
RM0438 Версия 8
35/2187
54
Содержание
RM0438
35.5
35.4.8 Режим принудительного выхода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267 35.4.9 Режим сравнения выхода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268 35.4.10 Режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269 35.4.11 Комбинированный режим ШИМ (только TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270 35.4.12 Дополнительные выходы и вставка мертвого времени . . . . . . . . . . . . . . . . . 1271 35.4.13 Использование функции останова . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1273 35.4.14 Двунаправленные входы прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278 35.4.15 6-шаговая генерация ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279 35.4.16 Одноимпульсный режим . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281 35.4.17 Режим повторного запуска одним импульсом (только TIM15) . . . . . . . . . . . . . . . . . . . . . . . 1282 35.4.18 Переназначение битов UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283 35.4.19 Функция XOR для входа таймера (только TIM15) . . . . . . . . . . . . . . . . . . . . . . 1284 35.4.20 Внешняя синхронизация запуска (только TIM15) . . . . . . . . . . . . . . . . . . . . 1285 35.4.21 Ведомый режим: комбинированный сброс + режим запуска . . . . . . . . . . . . . . . . . . . . . . 1287 35.4.22 Пакетный режим DMA . ... 1287 35.4.23 Синхронизация таймера (TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289 35.4.24 Использование выхода таймера в качестве триггера для других таймеров (TIM16/TIM17) . . . . . . 1289 35.4.25 Режим отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289
Регистры TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290
35.5.1 Регистр управления 15 TIM1 (TIM15_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290 35.5.2 Регистр управления 15 TIM2 (TIM15_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1291 35.5.3 Регистр управления подчиненным режимом TIM15 (TIM15_SMCR) . . . . . . . . . . . . . 1293 35.5.4 Регистр разрешения DMA/прерываний TIM15 (TIM15_DIER) . . . . 1294 35.5.5 Регистр состояния TIM15 (TIM15_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295 35.5.6 Регистр генерации событий TIM15 (TIM15_EGR) . . . . . . . . . . . . . . . 1297 35.5.7 Регистр режима захвата/сравнения TIM15 1 (TIM15_CCMR1) . . . . . . . 1298 35.5.8 Регистр режима захвата/сравнения TIM15 1 [альтернативный] (TIM15_CCMR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 35.5.9 Регистр разрешения захвата/сравнения TIM15 (TIM15_CCER) . . . . . . . . . . 1302 35.5.10 Счетчик TIM15 (TIM15_CNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.11 Предделитель TIM15 (TIM15_PSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.12 Регистр автоперезагрузки TIM15 (TIM15_ARR) . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.13 Регистр счетчика повторений TIM15 (TIM15_RCR) . . . . . . . . . . . . . . . 1306 35.5.14 Регистр захвата/сравнения TIM15 1 (TIM15_CCR1) . . . . . . . . . . . . 1306 35.5.15 Регистр захвата/сравнения TIM15 2 (TIM15_CCR2) . . . . . . . . . . . . . . 1307 35.5.16 Регистр останова и мертвого времени TIM15 (TIM15_BDTR) . . . . . . . . . . . . 1307 35.5.17 Регистр управления DMA TIM15 (TIM15_DCR) . . . . . . . . . . . . . . . . . . . 1310
36/2187
RM0438 Версия 8
RM0438
Содержание
35.6
35.5.18 Адрес DMA TIM15 для полной передачи (TIM15_DMAR) . . . . . . . . . . . . . 1310 35.5.19 Регистр опций TIM15 1 (TIM15_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.20 Регистр опций TIM15 2 (TIM15_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.21 Карта регистров TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313
Регистры TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
35.6.1 Регистр управления TIMx 1 (TIMx_CR1)(x = от 16 до 17) . . . . . . . . . . . . . . . . 1316 35.6.2 Регистр управления TIMx 2 (TIMx_CR2)(x = от 16 до 17) . . . . . . . . . . . . . . . . 1317 35.6.3 Регистр разрешения DMA/прерываний TIMx (TIMx_DIER)(x = от 16 до 17) . . . . 1318 35.6.4 Регистр состояния TIMx (TIMx_SR)(x = от 16 до 17) . . . . . . . . . . . . . . . . . 1319 35.6.5 Регистр генерации событий TIMx (TIMx_EGR)(x = 16–17) . . . . . . . 1320 35.6.6 Регистр режима захвата/сравнения TIMx 1
(TIMx_CCMR1)(x = от 16 до 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1321 35.6.7 Регистр режима захвата/сравнения TIMx 1 [альтернативный] (TIMx_CCMR1)(x = от 16 до 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322 35.6.8 Регистр разрешения захвата/сравнения TIMx (TIMx_CCER)(x = от 16 до 17) . 1324 35.6.9 Счетчик TIMx (TIMx_CNT)(x = от 16 до 17) . . . . . . . . . . . . . . . . . . . . . . . . . . 1326 35.6.10 Предделитель TIMx (TIMx_PSC)(x = от 16 до 17) . . . . . . . . . . . . . . . . . . . . . . . . . 1327 35.6.11 Регистр автоперезагрузки TIMx (TIMx_ARR)(x = от 16 до 17) . . . . . . . . . . . 1327 35.6.12 Регистр счетчика повторений TIMx (TIMx_RCR)(x = от 16 до 17) . . . . . . . . 1328 35.6.13 Регистр захвата/сравнения TIMx 1 (TIMx_CCR1)(x = от 16 до 17) . . . . . 1328 35.6.14 Регистр останова и мертвого времени TIMx (TIMx_BDTR)(x = от 16 до 17) . . . 1329 35.6.15 Регистр управления DMA TIMx (TIMx_DCR)(x = от 16 до 17) . . . . . . . . . . 1331 35.6.16 Адрес DMA TIMx для полной передачи (TIMx_DMAR)(x = 16 to 17) . . . . 1332 35.6.17 Регистр опций TIM16 1 (TIM16_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1332 35.6.18 Регистр опций TIM16 2 (TIM16_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1333 35.6.19 Регистр опций TIM17 1 (TIM17_OR1) . . . . . . . . . . . . . . . . . . . . . . . . 1334 35.6.20 Регистр опций TIM17 2 (TIM17_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335 35.6.21 Карта регистров TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337
36
Базовые таймеры (TIM6/TIM7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.1 Введение в TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.2 Основные характеристики TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.3 Функциональное описание TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340
36.3.1 Единица измерения времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340
36.3.2 Режим подсчета . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342
36.3.3 Переназначение бит UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
36.3.4 Источник тактовой частоты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
RM0438 Версия 8
37/2187
54
Содержание
RM0438
36.4
36.3.5 Режим отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
Регистры TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
36.4.1 Регистр управления TIMx 1 (TIMx_CR1)(x = от 6 до 7) . . . . . . . . . . . . . . . . . . . 1346 36.4.2 Регистр управления TIMx 2 (TIMx_CR2)(x = от 6 до 7) . . . . . . . . . . . . . . . . . . . 1348 36.4.3 Регистр разрешения DMA/прерываний TIMx (TIMx_DIER)(x = от 6 до 7) . . . . . . 1348 36.4.4 Регистр состояния TIMx (TIMx_SR)(x = от 6 до 7) . . . . . . . . . . . . . . . . . . . 1349 36.4.5 Регистр генерации событий TIMx (TIMx_EGR)(x = от 6 до 7) . . . . . . . . . . . 1349 36.4.6 Счетчик TIMx (TIMx_CNT)(x = от 6 до 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349 36.4.7 Предделитель TIMx (TIMx_PSC)(x = от 6 до 7) . . . . . . . . . . . . . . . . . . . . . . . 1350 36.4.8 Регистр автоперезагрузки TIMx (TIMx_ARR)(x = 6 до 7) . . . . . . . . . . . . . . . 1350 36.4.9 Карта регистров TIMx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
37
Таймер с низким энергопотреблением (LPTIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.1 Введение в LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.2 Основные характеристики LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.3 Реализация LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.4 Функциональное описание LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.1 Блок-схема LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.2 Выводы LPTIM и внутренние сигналы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.3 Отображение входа и триггера LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354
37.4.4 Сброс LPTIM и часы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355
37.4.5 Фильтр сбоев . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355
37.4.6 Предделитель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
37.4.7 Триггерный мультиплексор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
37.4.8 Режим работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357
37.4.9 Функция тайм-аута . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
37.4.10 Генерация формы сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
37.4.11 Обновление регистра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360
37.4.12 Режим счетчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1361
37.4.13 Включение таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
37.4.14 Сброс счетчика таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
37.4.15 Режим кодера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363
37.4.16 Счетчик повторений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364
37.4.17 Режим отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365
37.5 Режимы пониженного энергопотребления LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
37.6 Прерывания LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
38/2187
RM0438 Версия 8
RM0438
Содержание
37.7
Регистры LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367
37.7.1 Регистр прерываний и состояния LPTIM (LPTIM_ISR) . . . . . . . . . . . . . . . . 1367 37.7.2 Регистр очистки прерываний LPTIM (LPTIM_ICR) . . . . . . . . . . . . . . . . . . . . . . 1368 37.7.3 Регистр разрешения прерываний LPTIM (LPTIM_IER) . . . . . . . . . . . . . . . . . . . . 1369 37.7.4 Регистр конфигурации LPTIM (LPTIM_CFGR) . . . . . . . . . . . . . . . . . 1370 37.7.5 Регистр управления LPTIM (LPTIM_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1373 37.7.6 Сравнение LPTIM r
Документы/Ресурсы
![]() |
Серия ST STM32L5: высокая безопасность и низкое энергопотребление [pdf] Руководство пользователя RM0438, серия STM32L5 с высокой степенью защиты и низким энергопотреблением, серия STM32L5, с высокой степенью защиты и низким энергопотреблением, низкое энергопотребление, потребление |