Перейти к содержанию

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 без BOR1,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 В и может вызвать прерывание, когда питание проседает.

Источники

  1. 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, оно указано в даташите
  2. 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

Нашли ошибку?