ELIOT1 HAL
Загрузка...
Поиск...
Не найдено
hal_pwm.h
См. документацию.
1
21#ifndef HAL_PWM_H
22#define HAL_PWM_H
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28#include "hal_common.h"
29
30#define PWM_COUNT (3)
40
50
60
74
88
98
107 pwm_DirSyncMax = pwm_DirSyncUp,
108};
109
121
134 pwm_LoadPrdMax = pwm_LoadPrdDirect,
135};
136
144 pwm_SyncPhsEnMax = pwm_SyncPhsEnEn,
145};
146
158
163 pwm_SCmpxModeReg = 0,
168 pwm_SCmpxModeMax = pwm_SCmpxModeDirect,
169};
170
182
194
206
214 pwm_DzSignalMax = pwm_DzSignalOutB,
215};
216
226
234 pwm_DzModeMax = pwm_DzModeOn,
235};
236
251
267
291
301
311
323
331 pwm_IntEnMax = pwm_IntEnYes,
332};
333
345
360
365 uint32_t channel;
366 /* Группа 1 */
367 /* Предделитель */
371 uint8_t prescaler;
373 /* Основной счетчик */
375 uint32_t counter;
376 uint32_t period;
378 uint32_t ctrphs;
380 /* Блок сравнения */
381 uint32_t cmpa;
382 uint32_t cmpb;
387 /* Группа 2 */
388 /* Блок реакции на событие */
406 /* Блок прерываний */
410 /* Группа 3 */
411 /* Генератор запретной зоны */
420 /* Блок дробления выходного сигнала */
425 /* Блок реакции на внешнее воздействие */
433 /* Запуск/останов канала*/
435};
436
451
461enum pwm_status PWM_InitChannel(PWM_Type *base,
462 struct pwm_channel_config cfg);
463
472enum pwm_status PWM_Deinit(PWM_Type *base);
473
484enum pwm_status PWM_Enable(PWM_Type *base, uint32_t channel, enum pwm_run_command cmd);
485
500 uint32_t channel_mask,
501 enum pwm_run_command cmd0,
502 enum pwm_run_command cmd1,
503 enum pwm_run_command cmd2,
504 enum pwm_run_command cmd3);
505
521enum pwm_status PWM_ApplySoftOuts(PWM_Type *base, uint32_t channel,
522 int8_t mask_outs);
523
540enum pwm_status PWM_ApplyLongSoftOuts(PWM_Type *base, uint32_t channel,
541 int8_t mask_outs, enum pwm_outx_cmd outa, enum pwm_outx_cmd outb);
542
552uint32_t PWM_GetCntStat(PWM_Type *base, uint32_t channel);
553
565enum pwm_status PWM_SetPeriod(PWM_Type *base, uint32_t channel,
566 uint32_t period);
571#ifdef __cplusplus
572}
573#endif
574
575#endif /* HAL_PWM_H */
576
pwm_syncosel
Выбор источника выходного сигнала SYNCO.
Definition hal_pwm.h:113
pwm_trip_unit_action
Реакции на событие блока trip unit.
Definition hal_pwm.h:315
pwm_dirsync
Направление счета после синхронизации
Definition hal_pwm.h:103
enum pwm_status PWM_CmdForAllChannels(PWM_Type *base, uint32_t channel_mask, enum pwm_run_command cmd0, enum pwm_run_command cmd1, enum pwm_run_command cmd2, enum pwm_run_command cmd3)
Запуск/останов всех каналов блока широтно-импульсного модулятора
pwm_ldcswrf
Механизм загрузки активного регистра из теневого регистра для регистра программного управления выхода...
Definition hal_pwm.h:198
pwm_prescaler_divmux
Управление мультиплексором делителя частоты (деление частоты после делителя)
Definition hal_pwm.h:78
pwm_run_command
Управление пуском/остановкой канала
Definition hal_pwm.h:64
pwm_status
Статусы драйвера широтно-импульсного модулятора
Definition hal_pwm.h:35
pwm_loadprd
Управление моментом переписи данных из теневого регистра периода в активный
Definition hal_pwm.h:125
pwm_eventprd
Выбор периода прерываний PWM_INT.
Definition hal_pwm.h:337
uint32_t PWM_GetCntStat(PWM_Type *base, uint32_t channel)
Определяет работает ли счетчик в канале
pwm_syncphsen
Сигнал разрешения загрузки счетчика из регистра фазы
Definition hal_pwm.h:140
enum pwm_status PWM_ApplyLongSoftOuts(PWM_Type *base, uint32_t channel, int8_t mask_outs, enum pwm_outx_cmd outa, enum pwm_outx_cmd outb)
Программная длительная установка значения выходов канала
pwm_chopper_duty
Скважность дробящего сигнала
Definition hal_pwm.h:240
pwm_outx_cmd
Управление выходом OUTx.
Definition hal_pwm.h:186
pwm_prescaler_mode
Управление режимом работы предделителя канала
Definition hal_pwm.h:44
pwm_dz_mode
Выбор режима работы блока запрещенной зоны при формирования OUTx.
Definition hal_pwm.h:230
pwm_prescaler_syncrst
Разрешения сброса предделителя при возникновения событий SYNCI или SWFSYNC.
Definition hal_pwm.h:92
pwm_ldxmode
Выбор режима загрузки данных из теневого регистра в активный CMPx.
Definition hal_pwm.h:174
pwm_trip_unit_signal
Работа блока trip unit.
Definition hal_pwm.h:305
pwm_int_en
Разрешение прерывания блока
Definition hal_pwm.h:327
pwm_chopper_freq
Частота дробящего сигнала
Definition hal_pwm.h:255
pwm_dz_outx_inv
Полярность OUTx после генерации запрещенной зоны
Definition hal_pwm.h:220
enum pwm_status PWM_GetChannelDefaultConfig(struct pwm_channel_config *cfg)
Инициализация структуры "по умолчанию" для канала блока ШИМ
enum pwm_status PWM_Deinit(PWM_Type *base)
Деинициализация блока широтно-импульсного модулятора
pwm_int_source
Источник прерывания
Definition hal_pwm.h:349
pwm_prescaler_cmd
Управление состоянием предделителя канала
Definition hal_pwm.h:54
enum pwm_status PWM_SetPeriod(PWM_Type *base, uint32_t channel, uint32_t period)
Устанавливает значение периода
pwm_scmpxmode
Режим работы регистра CMPx.
Definition hal_pwm.h:162
pwm_chopper_first_width
Ширина первого импульса
Definition hal_pwm.h:271
enum pwm_status PWM_Enable(PWM_Type *base, uint32_t channel, enum pwm_run_command cmd)
Запуск/останов канала блока широтно-импульсного модулятора
enum pwm_status PWM_ApplySoftOuts(PWM_Type *base, uint32_t channel, int8_t mask_outs)
Программная не длительная установка значения выходов канала
enum pwm_status PWM_InitChannel(PWM_Type *base, struct pwm_channel_config cfg)
Инициализация канала блока широтно-импульсного модулятора
pwm_cntmode
Режим работы счетчика CRTCNT.
Definition hal_pwm.h:150
pwm_dz_signal
Источник сигнала для генерации запрещенной зоны
Definition hal_pwm.h:210
pwm_chopper_work
Работа блока Chopper.
Definition hal_pwm.h:295
@ pwm_SyncoSelSynci
Definition hal_pwm.h:114
@ pwm_SyncoSelCtrcntEquCmpb
Definition hal_pwm.h:116
@ pwm_SyncoSelCtrcntZero
Definition hal_pwm.h:115
@ pwm_SyncoSelOff
Definition hal_pwm.h:117
@ pwm_TripUnitActionOne
Definition hal_pwm.h:317
@ pwm_TripUnitActionHigh
Definition hal_pwm.h:316
@ pwm_TripUnitActionZero
Definition hal_pwm.h:318
@ pwm_TripUnitActionNo
Definition hal_pwm.h:319
@ pwm_DirSyncUp
Definition hal_pwm.h:105
@ pwm_DirSyncDown
Definition hal_pwm.h:104
@ pwm_LdcswrfDirect
Definition hal_pwm.h:202
@ pwm_LdcswrfCtrcntEquCtrprd
Definition hal_pwm.h:200
@ pwm_LdcswrfCtrcntZeroEquCtrprd
Definition hal_pwm.h:201
@ pwm_LdcswrfCtrcntZero
Definition hal_pwm.h:199
@ pwm_PrescalerDivMux8
Definition hal_pwm.h:82
@ pwm_PrescalerDivMuxPWMClk
Definition hal_pwm.h:84
@ pwm_PrescalerDivMux2
Definition hal_pwm.h:80
@ pwm_PrescalerDivMux1
Definition hal_pwm.h:79
@ pwm_PrescalerDivMux16
Definition hal_pwm.h:83
@ pwm_PrescalerDivMux4
Definition hal_pwm.h:81
@ pwm_RunCmdStop
Definition hal_pwm.h:65
@ pwm_RunCmdRun
Definition hal_pwm.h:70
@ pwm_RunCmdStopEvent
Definition hal_pwm.h:66
@ PWM_Status_BadConfigure
Definition hal_pwm.h:38
@ PWM_Status_InvalidArgument
Definition hal_pwm.h:37
@ PWM_Status_Ok
Definition hal_pwm.h:36
@ pwm_LoadPrdDirect
Definition hal_pwm.h:130
@ pwm_LoadPrdRegister
Definition hal_pwm.h:126
@ pwm_EventPrdOne
Definition hal_pwm.h:339
@ pwm_EventPrdNo
Definition hal_pwm.h:338
@ pwm_EventPrdTwo
Definition hal_pwm.h:340
@ pwm_EventPrdThree
Definition hal_pwm.h:341
@ pwm_SyncPhsEnEn
Definition hal_pwm.h:142
@ pwm_SyncPhsEnDis
Definition hal_pwm.h:141
@ pwm_ChopperDuty_7_8
Definition hal_pwm.h:247
@ pwm_ChopperDuty_1_8
Definition hal_pwm.h:241
@ pwm_ChopperDuty_4_8
Definition hal_pwm.h:244
@ pwm_ChopperDuty_5_8
Definition hal_pwm.h:245
@ pwm_ChopperDuty_3_8
Definition hal_pwm.h:243
@ pwm_ChopperDuty_6_8
Definition hal_pwm.h:246
@ pwm_ChopperDuty_2_8
Definition hal_pwm.h:242
@ pwm_OutxCmdToggle
Definition hal_pwm.h:190
@ pwm_OutxCmdSet
Definition hal_pwm.h:189
@ pwm_OutxCmdNo
Definition hal_pwm.h:187
@ pwm_OutxCmdClear
Definition hal_pwm.h:188
@ pwm_PrescModeAlways
Definition hal_pwm.h:46
@ pwm_PrescModeTimerIsRun
Definition hal_pwm.h:45
@ pwm_DzModeOn
Definition hal_pwm.h:232
@ pwm_DzModeOff
Definition hal_pwm.h:231
@ pwm_PrescalerSyncRstDis
Definition hal_pwm.h:93
@ pwm_PrescalerSyncRstEn
Definition hal_pwm.h:94
@ pwm_LdxModeNoLoad
Definition hal_pwm.h:178
@ pwm_LdxModeCtrcntEquCtrprd
Definition hal_pwm.h:176
@ pwm_LdxModeCtrcntZero
Definition hal_pwm.h:175
@ pwm_LdxModeCtrcntZeroOrEquCtrprd
Definition hal_pwm.h:177
@ pwm_TripUnitSignalNotUsed
Definition hal_pwm.h:306
@ pwm_TripUnitSignalUsed
Definition hal_pwm.h:307
@ pwm_IntEnNo
Definition hal_pwm.h:328
@ pwm_IntEnYes
Definition hal_pwm.h:329
@ pwm_ChopperFreqClk_56
Definition hal_pwm.h:262
@ pwm_ChopperFreqClk_32
Definition hal_pwm.h:259
@ pwm_ChopperFreqClk_24
Definition hal_pwm.h:258
@ pwm_ChopperFreqClk_48
Definition hal_pwm.h:261
@ pwm_ChopperFreqClk_8
Definition hal_pwm.h:256
@ pwm_ChopperFreqClk_64
Definition hal_pwm.h:263
@ pwm_ChopperFreqClk_40
Definition hal_pwm.h:260
@ pwm_ChopperFreqClk_16
Definition hal_pwm.h:257
@ pwm_DzSignalOutxInvOn
Definition hal_pwm.h:222
@ pwm_DzSignalOutxInvOff
Definition hal_pwm.h:221
@ pwm_IntSourceCtrcntEquCmpBInc
Definition hal_pwm.h:355
@ pwm_IntSourceCtrcntEquCmpAInc
Definition hal_pwm.h:353
@ pwm_IntSourceCtrcntEquCmpADec
Definition hal_pwm.h:354
@ pwm_IntSourceNo
Definition hal_pwm.h:350
@ pwm_IntSourceCtrcntEquCmpBDec
Definition hal_pwm.h:356
@ pwm_IntSourceCtrcntEquCtrprd
Definition hal_pwm.h:352
@ pwm_IntSourceCtrcntEquZero
Definition hal_pwm.h:351
@ pwm_PrescCmdSave
Definition hal_pwm.h:56
@ pwm_PrescCmdReset
Definition hal_pwm.h:55
@ pwm_SCmpxModeDirect
Definition hal_pwm.h:165
@ pwm_SCmpxModeReg
Definition hal_pwm.h:163
@ pwm_ChopperFirstWidth_9_8
Definition hal_pwm.h:281
@ pwm_ChopperFirstWidth_6_8
Definition hal_pwm.h:278
@ pwm_ChopperFirstWidth_3_8
Definition hal_pwm.h:275
@ pwm_ChopperFirstWidth_4_8
Definition hal_pwm.h:276
@ pwm_ChopperFirstWidth_2_8
Definition hal_pwm.h:274
@ pwm_ChopperFirstWidth_11_8
Definition hal_pwm.h:283
@ pwm_ChopperFirstWidth_13_8
Definition hal_pwm.h:285
@ pwm_ChopperFirstWidth_7_8
Definition hal_pwm.h:279
@ pwm_ChopperFirstWidth_10_8
Definition hal_pwm.h:282
@ pwm_ChopperFirstWidth_0_8
Definition hal_pwm.h:272
@ pwm_ChopperFirstWidth_1_8
Definition hal_pwm.h:273
@ pwm_ChopperFirstWidth_14_8
Definition hal_pwm.h:286
@ pwm_ChopperFirstWidth_5_8
Definition hal_pwm.h:277
@ pwm_ChopperFirstWidth_12_8
Definition hal_pwm.h:284
@ pwm_ChopperFirstWidth_8_8
Definition hal_pwm.h:280
@ pwm_ChopperFirstWidth_15_8
Definition hal_pwm.h:287
@ pwm_CntModeDown
Definition hal_pwm.h:152
@ pwm_CntModeUpDown
Definition hal_pwm.h:153
@ pwm_CntModeUp
Definition hal_pwm.h:151
@ pwm_CntModeOff
Definition hal_pwm.h:154
@ pwm_DzSignalOutB
Definition hal_pwm.h:212
@ pwm_DzSignalOutA
Definition hal_pwm.h:211
@ pwm_ChopperWorkOn
Definition hal_pwm.h:297
@ pwm_ChopperWorkOff
Definition hal_pwm.h:296
Конфигурация канала широтно-импульсного модулятора
Definition hal_pwm.h:364
enum pwm_outx_cmd cnt_eq_cmpb_dec_outb
Definition hal_pwm.h:397
enum pwm_chopper_duty chopper_duty
Definition hal_pwm.h:421
enum pwm_ldcswrf ldcswrf
Definition hal_pwm.h:405
enum pwm_outx_cmd cnt_eq_cmpa_inc_outa
Definition hal_pwm.h:392
enum pwm_outx_cmd cnt_eq_prd_outa
Definition hal_pwm.h:389
uint32_t cmpa
Definition hal_pwm.h:381
enum pwm_outx_cmd sw_forced_long_outb
Definition hal_pwm.h:404
enum pwm_chopper_freq chopper_freq
Definition hal_pwm.h:422
enum pwm_ldxmode ldbmode
Definition hal_pwm.h:386
uint32_t cmpb
Definition hal_pwm.h:382
uint16_t dz_falling_edge_delay_clk
Definition hal_pwm.h:413
enum pwm_prescaler_cmd prescaler_cmd
Definition hal_pwm.h:369
enum pwm_dz_outx_inv dz_falling_edge_outb_inv
Definition hal_pwm.h:417
enum pwm_int_en pwmtu_int_one
Definition hal_pwm.h:430
uint8_t inputs_mask_mult
Definition hal_pwm.h:427
enum pwm_outx_cmd sw_forced_outb
Definition hal_pwm.h:402
enum pwm_int_en pwmtu_int_mult
Definition hal_pwm.h:431
enum pwm_syncphsen syncphsen
Definition hal_pwm.h:379
uint16_t dz_rising_edge_delay_clk
Definition hal_pwm.h:412
enum pwm_prescaler_mode prescaler_mode
Definition hal_pwm.h:368
enum pwm_eventprd eventprd
Definition hal_pwm.h:409
enum pwm_chopper_first_width chopper_first_width
Definition hal_pwm.h:423
enum pwm_trip_unit_action trip_unit_action_outb
Definition hal_pwm.h:429
enum pwm_dz_signal dz_falling_edge_source
Definition hal_pwm.h:415
enum pwm_dz_outx_inv dz_rising_edge_outa_inv
Definition hal_pwm.h:416
enum pwm_dz_mode dz_outa_enable
Definition hal_pwm.h:418
enum pwm_run_command cmd
Definition hal_pwm.h:434
enum pwm_dz_signal dz_rising_edge_source
Definition hal_pwm.h:414
enum pwm_outx_cmd cnt_eq_zero_outb
Definition hal_pwm.h:400
enum pwm_prescaler_divmux prescaler_divmux
Definition hal_pwm.h:372
enum pwm_prescaler_syncrst prescaler_syncrst
Definition hal_pwm.h:370
enum pwm_ldxmode ldamode
Definition hal_pwm.h:385
enum pwm_outx_cmd cnt_eq_cmpa_dec_outa
Definition hal_pwm.h:391
enum pwm_outx_cmd cnt_eq_cmpa_inc_outb
Definition hal_pwm.h:394
enum pwm_cntmode cntmode
Definition hal_pwm.h:374
uint32_t ctrphs
Definition hal_pwm.h:378
uint32_t counter
Definition hal_pwm.h:375
enum pwm_trip_unit_action trip_unit_action_outa
Definition hal_pwm.h:428
enum pwm_chopper_work chopper_work
Definition hal_pwm.h:424
enum pwm_outx_cmd cnt_eq_cmpa_dec_outb
Definition hal_pwm.h:393
enum pwm_outx_cmd cnt_eq_cmpb_inc_outb
Definition hal_pwm.h:398
enum pwm_outx_cmd sw_forced_long_outa
Definition hal_pwm.h:403
uint32_t channel
Definition hal_pwm.h:365
enum pwm_loadprd loadprd
Definition hal_pwm.h:377
enum pwm_outx_cmd cnt_eq_cmpb_dec_outa
Definition hal_pwm.h:395
uint8_t prescaler
Definition hal_pwm.h:371
enum pwm_int_en pwm_int_enable
Definition hal_pwm.h:407
enum pwm_outx_cmd sw_forced_outa
Definition hal_pwm.h:401
enum pwm_int_source pwm_int_source
Definition hal_pwm.h:408
uint8_t inputs_mask_one
Definition hal_pwm.h:426
enum pwm_outx_cmd cnt_eq_zero_outa
Definition hal_pwm.h:399
enum pwm_outx_cmd cnt_eq_cmpb_inc_outa
Definition hal_pwm.h:396
enum pwm_dz_mode dz_outb_enable
Definition hal_pwm.h:419
enum pwm_scmpxmode scmpbmode
Definition hal_pwm.h:384
enum pwm_scmpxmode scmpamode
Definition hal_pwm.h:383
enum pwm_outx_cmd cnt_eq_prd_outb
Definition hal_pwm.h:390
uint32_t period
Definition hal_pwm.h:376