Блоки (1,2,3) реализует настройку широтно-импульсной модуляции с использованием аппаратных
таймеров микроконтроллера, тактируемых импульсами определенной частоты CLK. Таймер
подсчитывает количество тактовых импульсов и в нужные моменты формирует передний и задний
фронты.. Широтно-импульсной модуляцией (ШИМ, или, по-английски, PWM – Power Width Modulation)
называют способ регулирования среднего напряжения, подаваемого на нагрузку, за счет изменения
скважности импульсов.В таких микроконтроллере K1986ВЕ92QI ШИМ реализуется на базе аппаратных
16-разрядных таймеров/счетчиков TIMER1, TIMER2 и TIMER3. Каждый из них позволяет организовать
до 4 каналов ШИМ (т.е. всего можно сделать 12 каналов ШИМ). Для каждого из трех таймеров можно
задать свою частоту ШИМ, а для каждого канала в пределах таймера – и свою длительность
импульса. Кроме того, каждый из каналов ШИМ имеет два выхода, подведенных к тому или иному
выводу микроконтроллера: прямой (D) и инверсный (N). Прямой выход формирует импульсы без
инверсии, а инверсный, соответственно, – с инверсией. Блок использует функцию
Init_PWM_Timer(1|2|3) определенную в файле timer.h проекта шаблона сборки кода Test_Driver.
Пользователь может внести изменения в программный код функции.
Входы
- On – включить таймер;
- Init_port – инициализация каналов таймера (каждый из трех
таймеров имеет свои каналы, они представлены в соотв. документации), канал представляет
из себя линии ввода-вывода микропроцессора;
- Sort_block – порт необходимый для определения
последовательности сортировки блока.
Выходы
- ready – возвращает 1, это необходимо для определения порядка
сортировки последущих блоков.
Свойства:
- Номера каналов – CHANALS - Перечислены каналы (линии ввода
вывода) используемые при ШИМ. По умолчанию - 1;
- Период ШИМ – PWM_Period - Период ШИМ. 8000;
- Заполненин импульса канала (1,2,3 и 4 для TIMER3) – CCR1...CCR4
- При работе в режиме ШИМ, выходной сигнал может формироваться на основании сравнения
значения в регистре CCR и основного счетчика CNT или регистров CCR, CCR1 и значения
основного счетчика CNT. По умолчанию - 4000;
- Предделитель частоты – PSG - Значение предварительного делителя
счетчика – TIMx_PSG, при этом основной счетчик будет считать на частоте CLK=
TIMx_CLK/(PSG+1). По умолчанию - 0;
- Включить прерывание – Intr - После истечения периода ШИМ будет
возникать прерывание, в обработчике которого будет уменшина на еденицу глобальная
переменная fl_pwm (fl_pwm = fl_pwm – 1 ). Это необходимо для того что бы основной поток
программы мог выйти из функции ожидания прохождения периода ШИМ
DelayTimer_pwm(). По умолчанию - По умолчанию - Нет (нет
прерывания);
- Режим основного счетчика – Centr_PWM - Центрированный ШИМ или
обыкновенный. По умолчанию - Нет (обыкновенный).