Инициализация таймера 1986ВЕ9X с запросом АЦП

|Си|
в палитре на схеме

Блок реализует настройку широтно-импульсной модуляции с использованием аппаратных таймеров микроконтроллера, тактируемых импульсами определенной частоты CLK. Существует возможность по истечению периода ШИМ произвести опрос АЦП, для этого необходимо заблаговременно настроить контроллер АЦП. Программная реализация блока, расположена в заголовочном файле timer.h (функция Init_PWM_Timer) файла main.c проекта Test_Driver (в среде разработки Keil), который создается при генерации кода проекта и содержит тексты программ алгоритма на языке СИ. Можно использовать для программирования двух типов микропроцессоров 1986BE1T и 1986BE9X. Основные характеристики контроллера DMA приведены в спецификациях 1986BE1T.pdf и 1986BE9X.pdf.

Входы

  • on - включение таймера;
  • init_port - инициализация каналов таймера;
  • sort_block - необходим для определения порядка выполнения блока.

Выходы

нет

Свойства:

Название Имя Описание По умолчанию
Номера каналов 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

Нет

Параметры

нет