Миландр 1986BE9X, 1986BE1T / Таймеры |
|Си| | ||
в палитре | на схеме |
Блок реализует настройку широтно-импульсной модуляции с использованием аппаратных таймеров микроконтроллера, тактируемых импульсами определенной частоты CLK. Существует возможность по истечению периода ШИМ произвести опрос АЦП, для этого необходимо заблаговременно настроить контроллер АЦП. Программная реализация блока, расположена в заголовочном файле timer.h (функция Init_PWM_Timer) файла main.c проекта Test_Driver (в среде разработки Keil), который создается при генерации кода проекта и содержит тексты программ алгоритма на языке СИ. Можно использовать для программирования двух типов микропроцессоров 1986BE1T и 1986BE9X. Основные характеристики контроллера DMA приведены в спецификациях 1986BE1T.pdf и 1986BE9X.pdf.
нет
Название | Имя | Описание | По умолчанию |
Номера каналов | CHANNELS |
Каналы таймера см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf |
|
Предделитель частоты |
PSG
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Формат выработки сигнала REF в режиме ШИМ
|
pwm_mode
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 6 |
Период ШИМ |
PWM_Period
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 800 |
Таймер | NUM |
Выбор таймера (Timer1, Timer2, Timer3, Timer4 ) см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf Примечание! У микропроцессора 1986BE9X нет TIMER4 |
TIMER1 |
Канал1 | |||
Заполнение импульса Канала 1
|
CCR1
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Основной делитель частоты DTG 1
|
DTG_k1
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Дополнительный делитель частоты DTGx 1
|
DTGx_k1
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Канал2 | |||
Заполнение импульса Канала 2
|
CCR2
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Основной делитель частоты DTG 2
|
DTG_k2
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Дополнительный делитель частоты DTGx 2
|
DTGx_k2
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Канал3 | |||
Заполнение импульса Канала 3
|
CCR3
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Основной делитель частоты DTG 3
|
DTG_k3
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Дополнительный делитель частоты DTGx 3
|
DTGx_k3
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Канал4 | |||
Заполнение импульса Канала 4
|
CCR4
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Основной делитель частоты DTG 4
|
DTG_k4
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Дополнительный делитель частоты DTGx 4
|
DTGx_k4
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Прерывания
|
|||
Включить прерывание по CNT=0
|
IntrCNT
|
По окончанию периода ШИМ прерывание см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf |
Да |
Включить прерывание по CNT=ARR
|
IntrARR
|
прерывание см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf |
Нет |
Приоритет прерывания
|
PRI
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | 0 |
Режим основного счетчика
|
Centr_PWM
|
см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf | Нет |
Использовать опрос АЦП каналов | ON_ADC | По истечению периода ШИМ производить опрос АЦП? | Нет |
Контроллер АЦП | ADC | Выбор АЦП1 или АЦП2, для 1986BE1T только АЦП1 | ADC1 |
Уменьшение значения счетчика периодов ШИМ заданного с помощью функции DelayTimer_pwm() (задержка выполнения на заданное число периодов ШИМ) в основном потоке функции main(). Вызов этой функции происходит после выполнения алгоритма главного цикла программы, таким образом реализуется циклическая работа алгоритма
|
DelayPWM
|
В основном цикле программы поток будет находится в состоянии ожидания при вызове функции DelayTimer_pwm(counts_pwm) пока заданное значение периодов ШИМ (counts_pwm) не будет равным 0, уменьшение счетчика периодов ШИМ будет происходить в обработчике прерываний истечения периода ШИМ | Нет |
Алгоритм регулирования
|
|||
Вызов расчетного алгоритма
|
NameAlg
|
По истечения периода ШИМ в процедуре обработки прерывания происходит вызов алгоритма NameAlg. При генерации кода СИ нескольких проектов функция алгоритма одного из проектов может быть вызвана в обработчике прерывания, таким образом реализуется совместная работа алгоритмов с разной степенью дискретизации | Нет |
Разрешить прерывание DMA по прохождению периода
|
CNT_ARR
|
После истечения периода ШИМ таймера происходит запрос к контроллеру DMA см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf |
Нет |
нет