Merge branch 'feat/mcpwm_dead_time_add_warning_v5.4' into 'release/v5.4'

fix(mcpwm): add warning about generator deadtime (v5.4)

See merge request espressif/esp-idf!34729
This commit is contained in:
morris 2024-11-07 14:52:29 +08:00
commit ec8de8a1f9
3 changed files with 6 additions and 2 deletions

View File

@ -405,6 +405,10 @@ esp_err_t mcpwm_generator_set_dead_time(mcpwm_gen_handle_t in_generator, mcpwm_g
mcpwm_ll_deadtime_set_falling_delay(hal->dev, oper_id, config->negedge_delay_ticks);
}
if (delay_on_both_edge && in_generator->gen_id == 0 && oper->generators[1]) {
ESP_LOGW(TAG, "generator B will not function correctly. To set deadtime on both edges for one generator while bypassing the deadtime for the other, please set the deadtime for generator B only.");
}
ESP_LOGD(TAG, "operator (%d,%d) dead time (R:%"PRIu32",F:%"PRIu32"), topology code:%"PRIx32, group->group_id, oper_id,
config->posedge_delay_ticks, config->negedge_delay_ticks, mcpwm_ll_deadtime_get_switch_topology(hal->dev, oper_id));
return ESP_OK;

View File

@ -523,7 +523,7 @@ Dead time specific configuration is listed in the :cpp:type:`mcpwm_dead_time_con
// NOTE: This is invalid, you can not apply the posedge delay to another generator
mcpwm_generator_set_dead_time(mcpwm_gen_b, mcpwm_gen_b, &dt_config);
However, you can apply ``posedge delay`` to generator A and ``negedge delay`` to generator B. You can also set both ``posedge delay`` and ``negedge delay`` for generator A, while letting generator B bypass the dead time module.
However, you can apply ``posedge delay`` to generator A and ``negedge delay`` to generator B. You can also set both ``posedge delay`` and ``negedge delay`` for generator B, while letting generator A bypass the dead time module. Note that if ``negedge delay`` and ``posedge delay`` are both set for generator A, generator B will not be available. Where generator A is the first generator requested through the operator handle and generator B is the second generator requested through an operator handle.
.. note::

View File

@ -523,7 +523,7 @@ MCPWM 比较器可以在定时器计数器等于比较值时发送通知。若
// NOTE: 下面的操作是无效的,不能将同一种 delay 应用于不同的 generator 上
mcpwm_generator_set_dead_time(mcpwm_gen_b, mcpwm_gen_b, &dt_config);
然而,你可以为生成器 A 设置 ``posedge delay``,为生成器 B 设置 ``negedge delay``。另外,也可以为生成器 A 同时设置 ``posedge delay````negedge delay``,而让生成器 B 绕过死区模块
然而,你可以为生成器 A 设置 ``posedge delay``,为生成器 B 设置 ``negedge delay``。另外,也可以为生成器 B 同时设置 ``posedge delay````negedge delay``,而让生成器 A 绕过死区模块。注意,如果对生成器 A 同时设置 ``negedge delay````posedge delay``,生成器 B 将无法正常工作。其中,生成器 A 为通过操作器句柄申请的第一个生成器,生成器 B 为通过操作器句柄申请的第二个生成器
.. note::