R1 PWM » History » Version 1
krufter_multiclet, 06/16/2015 12:33 PM
1 | 1 | krufter_multiclet | h1. ШИМ (PWM) Мультиклет R1 |
---|---|---|---|
2 | 1 | krufter_multiclet | |
3 | 1 | krufter_multiclet | Краткие характеристики: |
4 | 1 | krufter_multiclet | * 4 канала; |
5 | 1 | krufter_multiclet | * режим генерации одиночного импульса; |
6 | 1 | krufter_multiclet | * возможность изменения периода счетчика во время его работы (при определенных условиях); |
7 | 1 | krufter_multiclet | |
8 | 1 | krufter_multiclet | Контроллер ШИМ (PWM) предназначен для генерирования широтно-модулированных импульсов. PWM является 4-х канальным и имеет режим генерации одиночного импульса, а также допускает возможность изменения периода счётчика во время его работы (при соблюдении условий, описываемых в соответствующем пункте). |
9 | 1 | krufter_multiclet | |
10 | 1 | krufter_multiclet | *Инициализация ШИМ* |
11 | 1 | krufter_multiclet | Для инициализации ШИМ необходимо задать в регистре PWM_CR режим работы интерфейса и счётчика, а также выбрать каналы, работу которых мы хотим разрешить. Следующим шагом устанавливаем активный/неактивный уровень включённого/выключенного канала. Кроме того возможно разрешить прерывания соответствующего канала, а также возможно разрешение прерываний по переполнению счётчика. |
12 | 1 | krufter_multiclet | |
13 | 1 | krufter_multiclet | *Режимы работы ШИМ* |
14 | 1 | krufter_multiclet | Генерация импульсов ШИМ возможна в однократном или периодическом режиме, установка производится в бите PWM_CR(PULSE_MODE). Счётчик запускается в трёх режимах: инкрементирующий, декрементирующий и режим увеличения до максимального значения, а потом уменьшения до нуля. Установка режима работы счётчика производится в бите PWM_CR(AUTO_RELOAD). Разрешается активировать возможность изменения периода счётчика во время его работы в бите PWM_CR(CNT_MODE), но только при определённых условиях. |
15 | 1 | krufter_multiclet | |
16 | 1 | krufter_multiclet | *Прерывания ШИМ* |
17 | 1 | krufter_multiclet | Прерывания бывают двух типов: по переполнению счётчика и по достижению счётчиком определённого канала значения регистра сравнения. Прерывания разрешаются в регистре управления, а запрос прерываний фиксируется в регистре PWM_INT. |
18 | 1 | krufter_multiclet | |
19 | 1 | krufter_multiclet | *Длительность импульса ШИМ* |
20 | 1 | krufter_multiclet | Длительность активного уровня импульса ШИМ будет определяться как разность значения периода счётчика PWM_CNT и значения регистра сравнения PWM_CMPCHn, умноженная на произведение длительности одного такта процессора и значения предделителя PWM_PSC. |