VDDA и VSSA (аналоговое питание STM32)
У STM32 два питания: цифровое VDD и аналоговое VDDA. Если оставить VDDA неподключённым или зашумлённым, АЦП покажет мусор или вовсе не заработает, хотя ядро и порты будут исправно работать.
Обновлено Редакция GAW
VDDA — отдельное аналоговое питание микроконтроллера STM32, VSSA — его земля. По RM0433 (разд. 6.4) VDDA питает АЦП, ЦАП, операционные усилители, компараторы и буферы опорного напряжения и не зависит от остальных питаний. У STM32L0 (RM0377, разд. 6.1) от VDDA работают ещё блоки сброса, RC-генераторы и PLL.
Связь с VDD и VREF+
- VDDA и VDD. RM0377 требует соединить VDDA и VSSA с VDD и VSS (рис. 10). Отдельный вывод нужен не для другого напряжения, а чтобы аналоговое питание можно было отдельно отфильтровать и защитить от шума платы (разд. 6.1.1). У младших STM32L0 в корпусах с малым числом выводов VDDA соединён с VDD внутри.
- VREF+. Верх шкалы АЦП. В корпусах без отдельного вывода VREF+ соединён с VDDA, и тогда шкала АЦП — это VDDA. Если вывод есть, на него подают отдельный источник: у STM32L0 1,65 В ≤ VREF+ < VDDA. У STM32H7 VREF+ может формировать встроенный VREFBUF.
Диапазоны
| Семейство | VDDA |
|---|---|
| STM32L0 с BOR | от 1,8 В при включении (1,65 В при выключении) до 3,6 В |
| STM32L0 без BOR | 1,65–3,6 В |
| STM32H7 | по даташиту; контроль — детектор AVD |
Контроль VDDA
Фактическое VDDA вычисляют по каналу VREFINT: у STM32L0 VDDA = VDDA_Charac · VREFINT_CAL / VREFINT_DATA, где VDDA_Charac — напряжение заводской калибровки из даташита. У STM32H7 есть детектор AVD — аналог PVD для аналогового питания: он сравнивает VDDA с порогом 1,7, 2,1, 2,5 или 2,8 В (биты ALS в PWR_CR1) и через EXTI может вызвать прерывание при просадке (RM0433, разд. 6.5.4).
Разводка
Типичная схема — VDDA от того же источника, что VDD, через ферритовую бусину или резистор, со своим блокировочным конденсатором у вывода. Пример разводки на плате — на странице Black Pill, измерения — в статье «АЦП STM32».
Частые вопросы
Можно ли не подключать VDDA у STM32?
Нет. VDDA питает не только АЦП и ЦАП: у STM32L0, по RM0377, от него работают ещё блоки сброса, RC-генераторы и PLL, а RM0377 прямо требует соединить VDDA и VSSA с VDD и VSS. Неподключённый VDDA — частая причина того, что плата не стартует или АЦП показывает случайные значения.
Можно ли питать VDDA от того же 3,3 В, что и VDD?
Можно и обычно так и делают, но через развязку: RM0377 подчёркивает, что отдельный вывод аналогового питания нужен, чтобы его можно было отдельно отфильтровать и защитить от шума платы. Типичное решение — ферритовая бусина или резистор и свой блокировочный конденсатор у вывода VDDA, земля VSSA — к общей земле в одной точке.
Как узнать реальное напряжение VDDA?
Измерить канал VREFINT и сравнить с заводской калибровкой: у STM32L0 по RM0377 VDDA = VDDA_Charac · VREFINT_CAL / VREFINT_DATA, где VDDA_Charac — напряжение, при котором на заводе записали VREFINT_CAL; его значение — в даташите. У STM32H7 есть ещё детектор AVD: он сравнивает VDDA с порогом 1,7, 2,1, 2,5 или 2,8 В и может вызвать прерывание, когда питание проседает.
Источники
- STMicroelectronics. RM0377: Ultra-low-power STM32L0x1 advanced Arm-based 32-bit MCUs. Reference manual, Rev 10 — разд. 6.1: VDDA, VSSA = 1,8 В при включении (1,65 В при выключении) … 3,6 В, когда BOR доступен, и 1,65–3,6 В без BOR; VDDA — внешнее аналоговое питание АЦП, блоков сброса, RC-генераторов и PLL; у категории 1 в корпусах с малым числом выводов VDDA соединён с VDD; VREF+ есть выводом только в немногих корпусах, иначе соединён с VDDA; рис. 10, прим. 1 — VDDA и VSSA должны быть соединены с VDD и VSS; разд. 6.1.1 — у АЦП отдельное питание, которое можно отдельно фильтровать и экранировать от шума платы, отдельная земля VSSA; при выводе VREF+: 1,65 В ≤ VREF+ < VDDA; разд. 13 — фактическое VDDA вычисляют через VREFINT: VDDA = VDDA_Charac · VREFINT_CAL / VREFINT_DATA, где VDDA_Charac — напряжение, при котором на заводе записана калибровка VREFINT_CAL, оно указано в даташите
- STMicroelectronics. RM0433: STM32H742, STM32H743/753 and STM32H750 Value line advanced Arm-based 32-bit MCUs. Reference manual, Rev 9 — разд. 6.2: аналоговый домен VDDA; разд. 6.4: VDDA — внешнее аналоговое питание АЦП, ЦАП, ОУ, компараторов и буферов опорного напряжения, не зависит от остальных питаний; VREF+ — внешнее опорное для АЦП и ЦАП или выход VREFBUF; VSSA — отдельная аналоговая и опорная земля; разд. 6.5.4: детектор AVD сравнивает VDDA с порогом ALS (00 — 1,7 В, 01 — 2,1 В, 10 — 2,5 В, 11 — 2,8 В), включается AVDEN в PWR_CR1, флаг AVDO в PWR_CSR1, событие связано с EXTI и может вызвать прерывание при падении или росте VDDA
Нашли ошибку?
Смотрите также
- VREFINT (внутреннее опорное напряжение)Внутренний источник около 1,2 В на канале АЦП STM32 для расчёта VDDA
- VREFBUF (буфер опорного напряжения)Встроенный источник опорного напряжения STM32 на вывод VREF+
- Блокировочный конденсаторМестный запас заряда у выводов питания: ёмкость, тип, разводка
- АЦП STM32Группы каналов, режимы, триггеры, DMA, калибровка, датчик температуры, точность
- PVD — детектор напряжения STM32Прерывание при снижении питания ниже порога 2,2–2,9 В
- Ферритовая бусинаПодавитель высокочастотных помех в цепях питания и выходах
- STM32 Black PillSTM32F411: функции выводов, 5 В, питание, DFU и SWD