主题中讨论的其他器件:SysConfig
工具与软件:
你(们)好、
我希望读取 PWM 高相的中心时间点和 PWM 低相的中心时间点的 sdfm 电流测量值。
你有一个例子吗? 如果不是这样、能否介绍一下如何配置此类中断以读取 sdfm 值?
此致、
Jinlong
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、Jinlong、您正在使用哪个 SDK? MCU+SDK? 或电机控制 SDK?
从电机控制 SDK SDFM 示例(AM243x 电机控制 SDK:电流检测)中、我在支持的功能中看到以下内容:
谢谢!
Paula.
尊敬的 Paula:
我想我们需要您在我们的网站上提供帮助。
https://software-dl.ti.com/processor-industrial-sw/esd/motor_control_sdk/am243x/latest/docs/api_guide_am243x/SDFM_DESIGN.html 上的链接。
EPWM 频率高达20kHz。 这是客户的上限吗?
此致!
Jinlong
您好、Jinlong:
[报价 userid="617178" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1486399/am2434-am243x-lp/5709122 #5709122"] SDFM 与 EPWM 同步有何含义? 电流测量是在 PWM 高相位的中心还是在 PWM 低相位的中心执行这意味着会定期执行电流测量、周期将等于 ePWM 频率。 请参阅上述文档: software-dl.ti.com/.../SDFM_DESIGN.html、其中显示了 SDFM 与 ePWM 的同步以及电流测量起点和时序。
我可以使用哪个示例项目来检查是使用 SDFM 在 PWM 高相的中心还是在 PWM 低相的中心执行 sdfm 测量
您可以使用电机控制 SDK 中任何一个基于正常电流触发器的 sdfm 示例、但连续模式示例除外。
有关 sdfm 示例的更多信息、请参阅: https://software-dl.ti.com/processor-industrial-sw/esd/motor_control_sdk/am243x/09_02_00_11/docs/api_guide_am243x/EXAMPLES_MOTORCONTROL_SDFM.html#autotoc_md104
测量开始时间是可配置的、因此您可以在 SysConfig 中配置采样触发时间({ePWM 周期时间}/ 2)、以便在 PWM 高相或 PWM 低相的中心进行测量。
BR、
Achala Ram
目前。 为什么我看到 PRU ICSS PWM? 我们将仅使用 ePWM。
SDFM 与 PWM 同步是否需要 PRU ICSS PWM?
您好、Jinlong:
PRU ICSS PWM 用于生成过流和快速检测跳闸、 可了解更多信息: AM243x 电机控制 SDK:SDFM 接口设计
SDFM 同步只需要 EPWM
BR、
Achala Ram
ePWM 频率高达20kHz。 客户的上限是多少?
不可以、如上所述、示例在高达20kHz 的频率下进行了测试、但您也可以使用更高的值、对 ePWM 频率没有限制。
你好、Paula 和 Achala、
极高限值不是20kHz、这对我们来说是非常好的。
我指的是这个页面: https://software-dl.ti.com/processor-industrial-sw/esd/motor_control_sdk/am243x/latest/docs/api_guide_am243x/SDFM_DESIGN.html
请参阅: 与 ePWM 和触发时序同步
搜索包含以下内容的示例时: grep -r ' enableIep0ResetOnEpwm0_Sync = 1u'~/ti/motor_control_sdk_am243x_09_02_00_09
我只找到以下示例:
ti/motor_control_sdk_am243x_09_02_00_09/examples/pruicss_pwm/pruicss_pwm_dead_band_epwm_sync/am243x-lp/r5fss0-0_freertos/ti-arm-clang/ 并不重要 /ti_drivers_config.c
问题1:如果我坚持访问链接的页面、我是否必须将 IEP 用于其中一个 CMP 寄存器、例如 CMP0?
问题2:一个 IEP 计时器能否与一个内核上的 EtherCAT 和另一个内核上运行的电机共享?
问题3:实际上、我们需要在 t_middle_of_Duty_cycle 之前开始测量 TD 时间(因为向上-向下模式、它是 PWM 周期的中间)。 td 是4个电流样本通过 sinc3滤波器运行的一半时间。 如何 使用可视化时间点 td +t_middle_of_Duty_cycle GPIO 引脚状态 ?
我们需要在 TD + t_middle_of_PWM_Duty_cycle (即、由于向上-向下模式、PWM 周期中间)或之后立即运行 FOC 环路。
有很多问题。 谢谢你。
此致、
Jinlong
您能否 为该问题提供更多背景信息?
问题2:一个 IEP 计时器能否与一个内核上的 EtherCAT 以及另一个内核上运行的电机共享?
否
[报价 userid="61717178" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1486399/am2434-am243x-lp/5714825 #5714825"]问题3:实际上、我们需要在 t_middle_of_Duty_cycle 之前开始测量 TD 时间(因为上-下模式、是 PWM 周期的中间)。 td 是4个电流样本通过 sinc3滤波器运行的一半时间。 如何 使用可视化时间点 td +t_middle_of_Duty_cycle GPIO 引脚状态 ?是的、下图中提到了两点。 第一个点用于测量开始、第二个点是样本准备就绪时。 您可以将样本触发时间配置为`t_middle_of_Duty_cycle - TD`、因此样本可用点将发生在`t_middle_of_Duty_cycle + TD`。 如 AM243x Motor Control SDK doc:AM243x Motor Control SDK:SDFM 接口设计中所述、固件会在第4个样片后触发 R5中断。 要通过 GPIO 引脚可视化这一点、您可以在 R5接收到中断时在 GPIO 引脚上生成一个小脉冲。 您可以将 GPIO 信号时序与 ePWM 同步输出信号进行比较。
在我们处理此中断的 SDFM 示例中、我们使用回调函数`pruSdfmIrqHandler`读取采样值并清除中断。
在此回调函数中、您可以为 GPIO 脉冲添加如下代码:
SDFM 示例及其文件的路径为:`motor_control_sdk_am243x_09_02_00_09\examples\current_sense\ICSS_sdfm_three_channel_single_pru_mode\app_sdfm.c`
由于 ePWM 还会在 ePWM 周期结束时在 SYNC OUT GPIO 引脚上生成同步脉冲、因此您还可以在 SysConfig 中启用 SYNC OUT GPIO、并在 ePWM 周期结束时启用 ePWM 同步输出。
BR、
Achala Ram