Регистр предварительной загрузки таймера stm32 и теневой регистр

1. Что такое регистры предварительной загрузки и теневые регистры?

На блок-схеме таймера stm32 под некоторыми регистрами имеются черные тени (зеленый квадрат на картинке ниже)

Например, регистр автоматической перезагрузки, объяснение следующее:

Этот регистр на самом деле имеет 2 регистра: регистр предварительной загрузки + теневой регистр.

Регистр предварительной загрузки — это регистр, используемый пользователями для настройки (используемый пользователями для чтения и записи значений), тогда как теневой регистр — это регистр, который действительно работает (то есть то, что сказано в красном поле на рисунке выше).


Текст в красном поле на картинке выше имеет важный момент: согласно настройке бита управления

объяснять:

Например, в регистре автоматической перезагрузки есть регистр под названием ARPE (бит разрешения предварительной загрузки автоматической загрузки). Если этот регистр не включен, после изменения значения регистра автоматической перезагрузки (на самом деле регистр предварительной загрузки изменяется) , Значение регистра предварительной загрузки немедленно обновляется до теневого регистра (т. е. рабочего регистра).

Напротив, если регистр ARPE включен, после того как пользователь изменит значение регистра автоматической перезагрузки (фактически изменив регистр предварительной загрузки), значение регистра предварительной загрузки будет ждать до конца этого цикла счета (т. е. счетчик переполняется, вызывая событие обновления), значение обновляется в теневом регистре (то есть рабочем регистре)

2. Конфигурация, связанная с Cubemx

После включения предварительной загрузки автоматической перезагрузки, после изменения значения регистра ARR (то есть изменения регистра предварительной загрузки регистра автоматической перезагрузки), оно не будет немедленно обновлено до соответствующего теневого регистра (рабочего регистра), а будет обновляется в конце этого цикла ШИМ. Позже (то есть счетчик переполняется и инициируется событие обновления) он обновляется до соответствующего теневого регистра (рабочего регистра); в противном случае обновляется соответствующий теневой регистр (рабочий регистр). немедленно.

После включения предварительной загрузки сравнения вывода, после изменения значения регистра CCR (то есть изменения регистра предварительной загрузки регистра автоматической перезагрузки), оно не будет обновлено до соответствующего теневого регистра (рабочего регистра) сразу, а после окончания этого цикла ШИМ (то есть счетчик переполняется, вызывая событие обновления), обновляется до соответствующего теневого регистра (рабочего регистра), в противном случае соответствующий теневой регистр (рабочий регистр) обновляется немедленно.

в:

ARR --> цикл ШИМ

CCR -> рабочий цикл

Не строгое, грубое понимание

 

 

Supongo que te gusta

Origin blog.csdn.net/qq_62573253/article/details/131217073
Recomendado
Clasificación