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

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

Блок реализует настройку широтно-импульсной модуляции с использованием аппаратных таймеров микроконтроллера, тактируемых импульсами определенной частоты 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

Нет

Параметры

Блок не имеет параметров.