СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №3/2014

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 22 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 3 2014 Современные 32-разрядные ARM-микроконтроллеры серии STM32: блок резервных данных BKP Приведено описание блока резервных данных BKP 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Рассмотрены архитектура, состав и назначение регистров конфигурирования BKP, а также примеры программ для работы с этим блоком. Олег Вальпа (г. Миасс, Челябинская обл.) В ВЕДЕНИЕ Блок резервных данных BKP 32-раз- рядных ARM-микроконтроллеров серии STM32 [1] представляет собой область данных, сохранение которых при пропадании основного питания микроконтроллера обеспечивается за счёт энергии резервной батареи. Аббревиатура BKP является сокра- щением слова Backup, которое в пере- воде с английского означает «резерв- ный». В англоязычных источниках аббревиатура BKP применяется для обозначения слов Backup registers (резервные регистры), однако в оте- чественной технической литерату- ре обычно используется перевод – резервные данные. Поэтому данный блок назван как «блок резервных дан- ных» или BKP (англ.). Регистры, расположенные в данной области, не сбрасываются ни при пере- загрузке системы, ни при восстановле- нии подачи питания, ни при пробуж- дении устройства из режима ожида- ния Standby. После сброса микроконтроллера доступ к регистрам области резерв- ных данных заблокирован, и блок BKP защищён от возможной случай- ной записи. Чтобы разрешить доступ по записи к регистрам этой области, необходимо выполнить определённую процедуру. Такой аппаратный способ блокировки обеспечивает защиту запи- санных в блоке ВКР данных. С ОСТАВ И ОСОБЕННОСТИ БЛОКА ВКР В области резервных данных рас- полагаются регистры, используемые для работы часов реального времени RTC, и 16-разрядные регистры резерв- ных данных. В зависимости от моде- ли микроконтроллера количество этих регистров может варьироваться от 10 до 42. Их удобно использовать, например, для хранения энергонеза- висимых данных, предназначенных для настройки системы. Фактиче- ски они являются аналогом памяти EEPROM с небольшим объёмом. Конеч- но, в отличие от EEPROM энергетиче- ская независимость данных в этих регистрах обеспечивается резервной батареей, но зато количество циклов записи для них не ограничено. Поскольку блок BKP может питать- ся от резервной батареи, когда основ- ное питание отсутствует, и процессор микроконтроллера не работает, сброс регистров, относящихся к этой обла- сти, отличается от сброса остальных регистров контроллера. Сбросить реги- стры этого блока можно программно, выполнив определённые процедуры, или аппаратно, подав сигнал на вывод TAMPER. Причём аппаратный сброс требуется предварительно программ- но разрешить. Р ЕГИСТРЫ БЛОКА BKP Блок BKP включает в свой состав сле- дующие регистры: ● BKP_DRx – группа информационных регистров; ● BKP_RTCCR – регистр управления блоком RTC; ● BKP_CR – регистр управления назна- чением многоцелевого вывода; ● BKP_CSR – регистр управления прерыванием от многоцелевого вывода. Регистры BKP_DRx используются для хранения произвольных данных, сохранение которых необходимо даже после выключения питания контрол- лера. Они имеют разрядность 16 бит, а их количество в зависимости от моде- ли контроллера может достигать 42. Таким образом, в этой области можно хранить до 84 байт данных. Регистр BKP_RTCCR служит для управления блоком RTC и также явля- ется энергонезависимым. Последние два регистра позволя- ют настроить микроконтроллер для использования многоцелевого выво- да PC13-TAMPER-RTC. Можно выпол- нить настройки таким образом, чтобы при появлении сигнала на этом выво- де выполнялся сброс регистров обла- сти резервных данных. Также мож- но настроить прерывание от этого события. Формат регистров блока BKP с назва- ниями входящих в них разрядов пред- ставлен в таблице 1. Рассмотрим поочерёдно структуру и назначение этих регистров. Структура регистров BKP_DRx при- ведена в таблице 2. Все разряды этих регистров являются информационными и служат для хра- нения произвольных данных. Они име- ют доступ по записи и чтению. Здесь и далее способ обращения к разрядам регистров имеет следую- щие условные обозначения: ● rw – допускается чтение и запись раз- ряда; ● r – допускается только чтение раз- ряда; ● w – допускается только запись раз- ряда. Регистр BKP_RTCCR служит для управления блоком RTC. Назначение всех разрядов этого регистра приве- дено в таблице 3. Разряд ASOS определяет, какой из сигналов поступает на многоцеле- вой вывод PC13-TAMPER-RTC. Если этот разряд имеет состояние «0» – поступает сигнальный выход RTC, а если «1» – секундный выход RTC. Этот разряд может быть сброшен только при сбросе всего блока BKP. Разряд ASOE разрешает работу выход- ного сигнала, определяемого разрядом ASOS. Этот разряд также может быть сброшен только при сбросе всего бло- ка BKP. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy