Инструменты пользователя

Инструменты сайта


prog:bug:hsi_off_ve9x

Выключение генератора HSI в МК 1986ВЕ1Т, 3Т, 4У, серии 1986ВЕ9х и К1986ВК214(234)

К устройствам с автономным питанием предъявляются весьма жёсткие ограничения на энергопотребление. Внутренний генератор HSI является нестабильным источником тактовой частоты, поэтому его чаще всего заменяют на генератор HSE, работающий от внешнего кварцевого резонатора или генератора. При этом, чтобы снизить потребление, в МК есть возможность выключить неиспользуемый генератор HSI.

Разрешением работы генератора HSI управляет бит HSION в регистре BKP_REG_0F. Однако, из-за аппаратной ошибки при выключении HSI есть несколько нюансов.

1. Errata, ошибка "0004 Невозможность выключить генератор HSI при нулевом ALRF":

Бит разрешения работы HSION в регистре BKP_REG_0F батарейного домена может быть сброшен в ноль, только при взведённом в единицу флаге ALRF часов реального времени. Установить флаг ALRF можно, только включив часы реального времени и дождавшись, когда значение в регистре RTC_CNT сравняется с заданным значением в регистре RTC_ALRM. Только после этого, когда установлен бит ALRF бит HSION может быть сброшен, в противном случае попытка сброса бита HSION не оказывает никакого влияния.

2. После успешного сброса бита HSION (генератор HSI выключен), сброс флага ALRF приводит взведению бита HSION и генератор HSI снова начинает работать. Таким образом, генератор HSI может находится в выключенном состоянии только при установленном в "1" флаге ALRF. Сброс часов (бит RTC RESET в регистре BKP_REG_0F) приводит к сбросу флагов, в том числе и ALRF, что также приведёт к включению HSI.

Пример выключения генератора HSI можно посмотреть по ссылке: RTC_HSI_OFF

Тактирование МК осуществляется от HSE, тактирование часов от HSI, поэтому при выключении генератора HSI часы останавливаются, выставленные флаги часов при этом не изменяют своего состояния.

prog/bug/hsi_off_ve9x.txt · Последние изменения: 2018/08/27 10:52 — katya