Инициализация продвинутого таймера

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

Блок настройки продвинутого таймера ШИМ. Данный блок позволяет настроить продвинутые таймеры TIMER0 или TIMER7. Таймер может работать в двух режимах, простого таймера, если выходы каналов таймера отключены, или в режиме полноценного ШИМ на 3 прямых и 3 инвертированных канала с формированием защитной паузы (мертвого времени) плюс одним дополнительный прямым каналом ШИМ. Также возможно настроить вход защиты BRAKE, который сбрасывает состояния выходов таймера в исходное состояние. Таймер может вызывать одновременно два прерывания: по событию обновления счета (UPD) или по событию на одном из каналов таймера (CH) и по событию на входе BRAKE (BRK). Для каждого из прерываний предусмотрено подключение внешнего алгоритма из проекта, подключенного в пакет SimInTech. В прерывании по обновлению счета (UPD) или событию на канале таймера (CH) можно настроить инкрементирование программного таймера основного алгоритма main, для работы функции "сна". Включение запросов DMA на данный момент недоступно. Управление теневыми (shadow) регистрами таймера на данный момент недоступно, по умолчанию все теневые функции записи регистров таймера включены.

При кодогенерации используется стандартная библиотека GD32F10X v2.2.0, предоставляемая производителем микроконтроллеров GigaDevice. Подробные настройки можно найти в документации на микроконтроллер.

Входные порты

Имя Описание Тип линии связи
sort_block Вход сортировки блока Математическая

Выходные порты

Имя Описание Тип линии связи
ready Выход сортировки блока Математическая

Свойства

Название Имя Описание По умолчанию Тип данных
Таймер TIMER Возможные значения: «TIMER0», «TIMER7» TIMER0 Перечисление
Функция инициализации пинов порта REMAP Возможные значения: «ALTERNATE»,«PART_REMAP», «FULL_REMAP» ALTERNATE Перечисление
Делитель тактовой частоты таймера PSC Возможные значения: целое число от «0» до «65535» 0 Целое
Период таймера [0..65535] PERIOD

Возможные значения: целое число от «0» до «65535»

40000 Целое
Направление счета таймера DIR Взможные значения: «TIMER_COUNTER_UP», «TIMER_COUNTER_DOWN» TIMER_COUNTER_UP Перечисление
Режим счета таймера (aligned mode) CAM Взможные значения: «TIMER_COUNTER_EDGE»,«TIMER_COUNTER_CENTER_DOWN»,«TIMER_COUNTER_CENTER_UP», «TIMER_COUNTER_CENTER_BOTH» TIMER_COUNTER_EDGE Перечисление
Режим работы ШИМ PWM_MODE Взможные значения: «PWM0», «PWM1» PWM0 Перечисление
Делитель частоты генерирования события обновления таймера (timer update event) [0..255] TIM_UP_CNT Возможные значения: целое число от «0» до «255» 1 Целое
Настройка канала таймера TIM_CHx, где x = 0..3 Настройка каналов таймера TIM_CH0 … TIM_CH3
Режим работы канала x таймера CHx Взможные значения: «DISABLE_OUTPUT», «OUTPUT_PWM» OUTPUT_PWM Перечисление
Включить прямой вывод ШИМ CH_CCx Взможные значения: «TIMER_CCX_DISABLE», «TIMER_CCX_ENABLE» TIMER_CCX_ENABLE Перечисление
Включить инверсный вывод ШИМ CH_CCxN Взможные значения: «TIMER_CCXN_DISABLE», «TIMER_CCXN_ENABLE» TIMER_CCXN_ENABLE Перечисление
Полярность прямого вывода ШИМ CH_OCxP Взможные значения: «TIMER_OC_POLARITY_HIGH», «TIMER_OC_POLARITY_LOW» TIMER_OC_POLARITY_HIGH Перечисление
Полярность инверсного вывода ШИМ CH_OCxNP Взможные значения: «TIMER_OCN_POLARITY_HIGH», «TIMER_OCN_POLARITY_LOW» TIMER_OCN_POLARITY_HIGH Перечисление
Состояние бездействия прямого вывода ШИМ CH_ISOx Взможные значения: «TIMER_OC_IDLE_STATE_LOW», «TIMER_OC_IDLE_STATE_HIGH» TIMER_OC_IDLE_STATE_LOW Перечисление
Состояние бездействия инверсного вывода ШИМ CH_ISOxN Взможные значения: «TIMER_OCN_IDLE_STATE_LOW», «TIMER_OCN_IDLE_STATE_HIGH» TIMER_OCN_IDLE_STATE_LOW Перечисление
Исходное значение регистра сравнения таймера (CHxVAL) CHxVAL Возможные значения: целое число от «0» до «65535» 0 Целое
Настройка регистра защиты Настройка регистра защиты
Включить выходы таймера POEN Возможны значения: «DISABLE», «ENABLE» DISABLE Перечисление
Использовать run off state (если BRK, то выходы переходя в неактивное состояние) ROS Возможны значения: «TIMER_ROS_STATE_ENABLE», «TIMER_ROS_STATE_DISABLE» TIMER_ROS_STATE_DISABLE Перечисление
Использовать idel off state (если BRK, то выходы переходят в idle state через время deadtime) IOS Возможны значения: «TIMER_IOS_STATE_ENABLE», «TIMER_IOS_STATE_DISABLE» TIMER_IOS_STATE_DISABLE Перечисление
Использовать вход запрета break BRKEN Возможны значения: «TIMER_BREAK_DISABLE», «TIMER_BREAK_ENABLE» TIMER_BREAK_DISABLE Перечисление
Полярность запрещающего сигнала break BRKP Возможны значения: «TIMER_BREAK_POLARITY_LOW», «TIMER_BREAK_POLARITY_HIGH» TIMER_BREAK_POLARITY_HIGH Перечисление
Настройка величины мертвого времени [0..255] DEADTIME Возможны значения: целое число от «0» до «255» 40 Целое
Восстанавливать состояния выходов таймера после снятия сигнала BREAK OAEN Возможны значения: «TIMER_OUTAUTO_ENABLE», «TIMER_OUTAUTO_DISABLE» TIMER_OUTAUTO_DISABLE Перечисление
Защита регистров настройки выхода таймера от случайной записи PROT Возможны значения: «TIMER_CCHP_PROT_OFF», «TIMER_CCHP_PROT_0», «TIMER_CCHP_PROT_1», «TIMER_CCHP_PROT_2» TIMER_CCHP_PROT_OFF Перечисление
IRQ1 Настройка IRQ1
Включить прерывание по обновлению таймера IRQ_INT Возможные значения: «DISABLE», «TIMER_INT_UP», «TIMER_INT_CH0», «TIMER_INT_CH1», «TIMER_INT_CH2», «TIMER_INT_CH3» TIMER_INT_UP Перечисление
Приоритет прерывания IRQ_PRI_PRE1 Возможные значения: целое число от «0» до «4», высший приоритет «0», низший - «4» 3 Перечисление
Субприоритет прерывания IRQ_PRI_SUB1 Возможные значения: целое число от «0» до «4», высший приоритет «0», низший - «4» 3 Перечисление
Использовать таймер как источник тактирования програмного счетчика main DelayTIM Возможные значения: «Да», «Нет» Нет Двоичное
Вызов расчетного алгоритма NameAlg1 Строка с именем расчетного алгоритма (также указывается в свойствах проекта в разделе генерация кода) main Строка
IRQ2 Настройка IRQ2
Включить прерывание по событию на входе BREAK IRQ_INT_BRK Возможные значения: «Да», «Нет» Нет Двоичное
Приоритет прерывания IRQ_PRI_PRE2 Возможные значения: целое число от «0» до «4», высший приоритет «0», низший - «4» 3 Перечисление
Субприоритет прерывания IRQ_PRI_SUB2 Возможные значения: целое число от «0» до «4», высший приоритет «0», низший - «4» 3 Перечисление
Вызов расчетного алгоритма NameAlg2 Строка с именем расчетного алгоритма (также указывается в свойствах проекта в разделе генерация кода) my_diagram Строка
DMA Настройка DMA
Включить DMA DMA_ON Возможные значения: «Да», «Нет» Нет Двоичное
Выбрать источник запроса DMA DMA_MODE Возможные значения: «TIMER_DMA_UPD», «TIMER_DMA_CH0D», «TIMER_DMA_CH1D», «TIMER_DMA_CH2D», «TIMER_DMA_CH3D» TIMER_DMA_UPD Перечисление
TRGO Настройка TRGO
Включить внутренний выход таймера TRGO_ON Возможные значения: «Да», «Нет» Нет Двоичное
Выбрать триггер TRGO_MODE Возможные значения: «TIMER_TRI_OUT_SRC_UPDATE», «TIMER_TRI_OUT_SRC_CH0», «TIMER_TRI_OUT_SRC_O0CPRE», «TIMER_TRI_OUT_SRC_O1CPRE», «TIMER_TRI_OUT_SRC_O2CPRE», «TIMER_TRI_OUT_SRC_O3CPRE» TIMER_TRI_OUT_SRC_UPDATE Перечисление

Параметры

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